Platform for investigative analysis

ABSTRACT

A system for investigative analysis.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 16/112,142, filed Aug. 24, 2018, which claims the benefit ofU.S. Provisional Application No. 62/549,652 filed Aug. 24, 2017 entitledPlatform For Investigative Analysis.

BACKGROUND OF THE INVENTION

The present invention relates to a platform suitable for investigativeanalysis, and suitable for being utilized in collecting, organization,visualizing, and sharing of data.

Individuals across a range of different endeavors, such as lawenforcement, scientific research, historical research, insurance, andlitigation, gather and organize a significant amount of data as part oftheir day-to-day activities. As part of their activities, theindividuals are generally required to organize and present thiscollected data (such as presenting a case against a defendant orpresenting results of experiments to colleagues) In an organized manner.Furthermore, as part of their activities, the individuals need to trackthe type of data that is obtained and the nature of the data.Unfortunately, it is burdensome to create a logical, time-orientednarrative based on the collected data, as the collected data isgenerally from numerous different sources, and generally in numerousdifferent formats. Moreover, conventional tools are generally notsuitable to facilitate creating such a narrative.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of a computing system.

FIG. 2 illustrates another block diagram of a computing system.

FIG. 3 illustrates an architecture of a computing system.

FIG. 4 illustrates a project type with multiple data modules.

FIG. 5 illustrates an exemplary project type with data types.

FIG. 6 illustrates exemplary datatypes.

FIG. 7 illustrates a dashboard.

FIG. 8 illustrates a quick links area of the dashboard.

FIG. 9 illustrates a my projects area of the dashboard.

FIG. 10 illustrates an action items area of the dashboard.

FIG. 11 illustrates a file viewer.

FIG. 12 illustrates database matches.

FIG. 13 a canvas with linked cards.

FIG. 14 illustrates canvas cards with tag drawers open and closed.

FIG. 15 illustrates a disconnected client architecture.

FIG. 16 illustrates a client plus cloud architecture.

FIG. 17 illustrates a client plus on premise enterprise architecture.

FIG. 18 illustrates a thin client on premise enterprise architecture.

FIG. 19 illustrates an investigation data table.

FIG. 20 illustrates an investigation status data table.

FIG. 21 illustrates an investigation user data table.

FIG. 22 illustrates an action item data table.

FIG. 23 illustrates an investigation document data table.

FIG. 24 illustrates an evidence item table.

FIG. 25 illustrates a document production request data table.

FIG. 26 illustrates a fact table.

FIG. 27 illustrates a GPS tracking event period table.

FIG. 28 illustrates a GPS tracking event table.

FIG. 29 illustrates a mail cover table.

FIG. 30 illustrates a mail cover group table.

FIG. 31 illustrates a mail cover item table.

FIG. 32 illustrates a phone toll table.

FIG. 33 illustrates a phone toll detail table.

FIG. 34 illustrates a bank statement table.

FIG. 35 illustrates a bank transaction table.

FIG. 36 illustrates a bank transaction detail table.

FIG. 37 illustrates a bank item table.

FIG. 38 illustrates a check table.

FIG. 39 illustrates a violation table.

FIG. 40 illustrates a violation element table.

FIG. 41 illustrates an investigation summary report section titledefault table.

FIG. 42 illustrates an investigative summary report table.

FIG. 43 illustrates a create an investigation summary report subjecttable.

FIG. 44 illustrates an investigation summary report subject violationstable.

FIG. 45 illustrates an investigation summary report subject violationelements table.

FIG. 46 illustrates an investigation summary report section title table.

FIG. 47 illustrates an investigation summary report section attachmenttable.

FIG. 48 illustrates an investigation report table.

FIG. 49 illustrates an investigation report paragraph table.

FIG. 50 illustrates a search warrant table.

FIG. 51 illustrates a search warrant plan table.

FIG. 52 illustrates a search warrant person table.

FIG. 53 illustrates a search warrant person role table.

FIG. 54 illustrates a search warrant area table.

FIG. 55 illustrates a search warrant item table.

FIG. 56 illustrates a search warrant box table.

FIG. 57 illustrates a search warrant property seized group table.

FIG. 58 illustrates an investigation entity table.

FIG. 59 illustrates a person table.

FIG. 60 illustrates a business table.

FIG. 61 illustrates an account table.

FIG. 62 illustrates an address table.

FIG. 63 illustrates a boat table.

FIG. 64 illustrates a plane table.

FIG. 65 illustrates a phone number table.

FIG. 66 illustrates a vehicle table.

FIG. 67 illustrates an IP address table.

FIG. 68 illustrates an Email table.

FIG. 69 illustrates an initial appearance table.

FIG. 70 illustrates a charged entity initial appearance table.

FIG. 71 illustrates a demand appearance type table.

FIG. 72 illustrates an identity hearing table.

FIG. 73 illustrates a detention hearing table.

FIG. 74 illustrates a detention release type table.

FIG. 75 illustrates a court activity table.

FIG. 76 illustrates a testifying witness table.

FIG. 77 illustrates a court activity type table.

FIG. 78 illustrates a court venue table.

FIG. 79 illustrates a charge entity table.

FIG. 80 illustrates a court decision trial table.

FIG. 81 illustrates a charged entity violation table.

FIG. 82 illustrates a charged entity element table.

FIG. 83 illustrates a court activity attachment table.

FIG. 84 illustrates a court activity attachment type table.

FIG. 85 illustrates a court evidence table.

FIG. 86 illustrates a charging presentation table.

FIG. 87 illustrates a charging presentation to type table.

FIG. 88 illustrates a charged entity charging presentation table.

FIG. 89 illustrates an export table.

FIG. 90 illustrates an export reason table.

FIG. 91 illustrates an export header table.

FIG. 92 illustrates an export status table.

FIG. 93 illustrates an export method table.

FIG. 94 illustrates an export output type table.

FIG. 95 illustrates an export object table.

FIG. 96 illustrates an export header shared to link table.

FIG. 97 illustrates a plea offer table.

FIG. 98 illustrates a charged entity plea offer table.

FIG. 99 illustrates a plea offer resolution table.

FIG. 100 illustrates a motion table.

FIG. 101 illustrates motion stage type table.

FIG. 102 illustrates a motion type table.

FIG. 103 illustrates a motion ruling type table.

FIG. 104 illustrates a motion hearing table.

FIG. 105 illustrates a trial table.

FIG. 106 illustrates a charged entity trial table.

FIG. 107 illustrates a trial statement table.

FIG. 108 illustrates a trial jury table.

FIG. 109 illustrates a jury selection table.

FIG. 110 illustrates a trial jury questionnaire table.

FIG. 111 illustrates a trial jury questionnaire question table.

FIG. 112 illustrates a juror table.

FIG. 113 illustrates a juror questionnaire answer table.

FIG. 114 illustrates a juror reason to excuse table.

FIG. 115 illustrates a juror challenge table.

FIG. 116 illustrates a juror challenge type table.

FIG. 117 illustrates a juror challenge ruling table.

FIG. 118 illustrates a juror status table.

FIG. 119 illustrates a juror verdict table.

FIG. 120 illustrates jury question table.

FIG. 121 illustrates a trial objections table.

FIG. 122 illustrates a trial objection type table.

FIG. 123 illustrates a trial objection ruling table.

FIG. 124 illustrates a sentencing table.

FIG. 125 illustrates a charged entity sentencing table.

FIG. 126 illustrates a trial appeal table.

FIG. 127 illustrates a trial appeal type table.

FIG. 128 illustrates an exemplary fact connector user interface table.

FIG. 129 illustrates swim lanes.

FIG. 130 illustrates a search result.

FIG. 131 illustrates a search result with additional filters.

FIG. 132 illustrates text snippets from OCR.

FIG. 133 illustrates fuzzy dates.

FIG. 134 illustrates fuzzy date ranges.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

FIG. 1 illustrates an exemplary block diagram of a system 100. Asdescribed in greater detail, the system 100 may be a client(s) and/or aserver(s), as desired. The system 100 may include a bus 105 or othercommunications mechanism for communicating information betweencomponents of system 100. The system 100 may include a processor 110,operatively coupled to the bus 105, for processing information andexecuting instructions or operations. The processor 110 may be any typeof general or specific purpose processor. The system 100 may alsoinclude a memory 115 for storing information and instructions to beexecuted by processor 110. The memory 115 may include any combination ofrandom access memory (RAM), read only memory (ROM), static storage suchas a magnetic or optical disk, or any other type of machine orcomputer-readable medium. The system 100 may include a communicationdevice 120, such as a network interface, wireless interface, cellularinterface, or other communications interface, to provide access to anetwork or otherwise another device. As a result, a user may interfacewith the system 100 directly, or remotely through a network or any othermanner.

A computer-readable medium may be any available medium that may beaccessed by the processor 110. The computer-readable medium may includeboth a volatile and a nonvolatile medium, a removable and non-removablemedium, and a storage medium. The storage medium may include RAM, flashmemory, ROM, erasable programmable read-only memory (EPROM),electrically erasable programmable read-only memory (EEPROM), registers,hard disk, a removable disk, a compact disk read-only memory (CD-ROM),or any other form of storage medium.

The processor 110 may be operatively coupled via the bus 105 to adisplay 125, such as a Liquid Crystal Display (LCD). The display 125 maydisplay information to the user. A keyboard 130 and a cursor controldevice 135, such as a computer mouse, can also be operatively coupled tobus 105 to enable the user to interface with system 100.

The processor 110 may be operatively coupled via the bus 105 to one ormore databases 140. The database 140 may store data in an integratedcollection of logically-related records or files. The database 140 maybe an operational database, an analytical database, a data warehouse, adistributed database, an end-user database, an external database, anavigational database, an in-memory database, a document-orienteddatabase, a real-time database, a relational database, anobject-oriented database, a NoSQL database, or any other database, orany combination thereof.

The memory 115 may store software modules that provide functionalitywhen executed in combination with the processor 110. The modules caninclude a data visualization module 150. The data visualization module150 may include a data visualization application that can collect,organize, synchronize, and display case data. The data visualizationmodule 150 may comprise a plurality of modules that each providespecific individual functionality for collecting, organizing,synchronizing, entering, modifying, and displaying data.

The memory 115 may also store an operating system 160. The operatingsystem 160 may provide operating system functionality for the system100. The memory 115 may also store one or more additional applications170 to include additional functionality for an overall system 100.

FIG. 2 illustrates a block diagram of a system 200. The system 200includes a server 210. The server 210 can be any computer system orsoftware application that provides a service. The server 210 can be anytype of server configured to synchronize or otherwise organize data. Theserver 210 can be the same as the system 100 of FIG. 1 , if desired. Inalternate embodiments, the server 210 can represent a distributedsoftware-as-a-service (SaaS) that comprises a plurality of servers. Theserver 210 may utilize a data visualization module (such as datavisualization module 150 of FIG. 1 ) to provide a data visualizationapplication that may synchronize data.

The system 200 also includes one or more clients, such as a personalcomputer client 211, a laptop client 212, a tablet device client 213, apersonal digital assistant (PDA) client 214, and a mobile device client215, where a client can be any computer system or software applicationthat accesses a service on a remote computer system, such as a personalcomputer, a laptop computer, a tablet computer, a PDA, and a mobiledevice. A client, such as the personal computer client 211, the laptopclient 212, the tablet device client 213, the personal digital assistant(PDA) client 214, and the mobile device client 215, may be configured tocollect, organize, and display data, each of which may be identical tothe system of FIG. 1 , if desired. The client can utilize a datavisualization module (such as data visualization module 150 of FIG. 1 )to provide a data visualization application that can collect, organize,and display data.

System Architecture

Referring to FIG. 3 , the system may be implemented using a tieredobject model. A user interface 300 tier may be included to provide auser interface to a user for viewing of the data, configuration of thedata, modification of the data, etc. An engine 310 tier may be includedto provide for data caching, object management, security, communication,etc. A vault 320 tier may be included to provide data storage, etc. Aset of project types may be created and utilized to define the datamodels to manage user information, as well as user interface andprocessing elements to enable the system to perform user-initiated andautomatically executed processes. By way of example, one of theprocesses may include data replication services that replicates dataamong devices that are detachable from a server so that when a device isattached to the server the data is replicated and the data is availablewhen a device is not attached to the server.

Object Management

In the case of a server/client architecture, preferably, the serverincludes a windows service such as Windows Server®, and the clientsinclude a windows service such as Microsoft Windows®. The Windows®service is especially suitable for providing data storage, management,security, auditing, and replication services. In the case that thesystem uses an object based model for the data, the data may beorganized and stored using a “state chained property bag” model, inwhich an object is created which may contain one or more properties.Every “state” of a property's value is recorded in a state chain tofacilitate replication, auditing, history, and unlimited “undo”capabilities. The state chain expressly or inherently tracks each of theobjects as they are included, and their relationship to one or moreother objects, in a temporal fashion so that they may likewise beremoved in an orderly fashion.

The system may include objects that are project type data models thatare defined as .NET assemblies, which may contain classes derived frombase classes.

The system may include objects that are project type UI/workflow modelsthat are defined as .NET assemblies, which may contain classes derivedfrom base classes.

The system may include objects that are project types which may be thedefinition of the data schema, and workflow processing metadata.

Referring to FIG. 4 , each project type may include one or more datamodule assemblies. The data module assemblies contain the definitionsfor the objects and their properties. An example of a project type withan object type “Child” defined with four properties, “WontEat”,“FavoriteToy”, “ItemKey”, and “IsGrounded” with data types for each, isillustrated in FIG. 5 . Furthermore, the properties of each of theobjects may be modified by the system and/or the user to createcustomizable properties.

Each project type configuration may include one or more DLL's (dynamiclink libraries) that include workflow definitions. The workflowdefinitions provide processing and user interface instructions andelements facilitating the system response to user interface and dataevents, and to prompt users for information, and to execute unattendedprocessing workflows.

Object State Storage

The properties and an audit history of the objects may be stored in theform of selected datatypes. Referring to FIG. 6 , exemplary datatypesare illustrated. Fewer and/or additional datatypes may be included, asdesired.

So that the system is suitable for “on-line” use when a device isinterconnected to a server, and is suitable for “off-line” use when adevice is not interconnected to a server, it is desirable to assignunique identification numbers to the documents and other items. Theunique identification may be achieved in any suitable manner, andpreferably using a unique sequential identification number for thedocuments.

One technique to support the unique identification numbers may be asfollows. In the project type data model, an object may be defined as anItemKeyCollection. Once this designation is made, this causes the systemto create and maintain a sequential numbering scheme for child objectsof the designated “collection” object. When an object is defined as anItemKeyCollection, the configurator may provide an ItemKeyPrefix(alphanumeric data prepended to the sequential number), an ItemKeySuffix(alphanumeric data appended to the sequential number), anItemKeyNumberOfDigits (setting to define the zero-padded length of thesequential number), an ItemKeyAllowTemporaryItemKey (property to defineif the system is allowed to assign an Item Key when the Node operatingthe ProjectMaster role is not accessible (as when the user is operatingin a disconnected state)), an ItemKeyTemporaryPrefix (alphanumeric dataprepended to the Temporary sequential number), andItemKeyTemporarySufffix (alphanumeric data appended to the Temporarysequential number). These properties may (or may not) be visible to theend-user, and may allow modification by the end-user.

Any object property may then be defined as an “ItemKeyProperty”. Thisindicates to the system that an automatically generated value should becreated for this property. The generation of the value may occur as oneof two different methods depending on connectivity.

When the object is committed to the vault, the “ItemKeyProperty” isdetected, and if a connection may be made to the platform node that isoperating the ProjectMaster role, that node will create the unique valueand this value will be saved as the new state for the Property. If theItemKeyGenerator node cannot be reached, a “Temporary” ItemKey may begenerated by the local system node. This will be replaced with apermanent value when replication completes with the ProjectMaster node.

One of the objects allows configurators to readily generate, present,and operate on aggregations of values stored as properties of object.Different aggregation techniques may be included, such as sum, median,mode, min, max, average, etc.

Object Security and Auditing

For some applications, and in particular for criminal investigations, itis desirable to have object security and auditing of changes made to thedata. One of the inherent capabilities of the system is the maintenanceof an audit trail of all actions performed on objects. Since objectproperty values are stored as a “State Chain”, with beginning and endingtimestamps, every historical value for any given property may beretrieved from the data store. In addition to the begin and endingtimestamps, a UnitOfWork identifier is included for a UnitOfWork thatcreated the new property state. This facilitates a specific propertystate to be traced back to the time, workstation, and user that createdthe new property state.

Object deletion may be handled in a similar fashion—objects are notactually deleted from the data store (under normal operations). A“deletion” of an object is recorded as a new ObjectState for the objectin which the state is “Deleted”. This allows the same audit trail asdescribed above for object properties.

Object security may be implemented with an AccessControlList (ACL)assigned to each object. This ACL contains Access Control Entries (ACEs)that define the roles that are allowed certain operations (read, write,etc.). Objects inherit ACEs from their parent objects (through Lists,etc.), with the resulting ACEs controlling visibility, modifiability,and delectability of an object or its properties.

Physical Data Store

In addition to object security and auditing, the physical data storeshould persist in a secure manner. The system may include within thedata store persistent user and configuration data, and is preferablyagnostic of any particular database technology used for a particularimplementation.

With the system being agnostic of the particular database being used inconjunction therewith, the database may be selected for the particularimplementation. Exemplary databases include relational, graph, document,etc. Moreover, with multiple servers and/or clients, they may includedifferent databases which may be especially suitable for devices withdifferent capabilities.

Objects may have properties that may be assigned values. These valuesmay be “active” from a specific point in time to another point in time.This provides the concept of a “State Chain” for the property value. Adata modification is recorded as an end to the previous property state,and the creation of another. This gives the system the ability toretrieve data at any point in time across any (or all) projects.Detecting data change, auditing user actions, unlimited “undo”capabilities may all be supported by the property based state storagearchitecture. In this manner, especially suitable for a criminalinvestigation, the user may determine what the state of theinvestigation was at any point in time or during a particular timeframe, so that relevant data may be ascertained at a particular time orrange of times.

Binary Object Store

Binary objects (BLOBs) may be stored, for example, in one of twomechanisms using the system, (1) as an array of bytes, or (2) as a .netstream. The .net stream mechanism provides stream mechanisms forseeking, reading, random positioning, etc. Internally, the data storestores stream data as a set of zero or more “Stream Fragments” of aconfigurable size. This configuration is flexible, and may vary fromobject to object, project to project, or node to node. The optimalfragment size will generally be a function of the underlying databasetechnology in use.

Providing a .net stream API enables access for developers utilizingbinary data (rendering video or audio, displaying documents or graphics,etc.). The array of bytes mechanism stores data as a single object nodein the underlying data store, and is appropriate for smaller BLOB datawhere seeking and random reading is not necessary.

The system may store an ordered list of objects as the value of anobject property. A list's state may be the set of “Member” objects. Themembership in a list may be stored in a similar fashion to otherproperty values in that they are stored with timestamp, and UOWinformation. Adding an object to a list creates a relationship betweenthe “owner” and “member” objects. Removing the member is recorded byending the membership state. The physical implementation of this may bedependent on the database technology being used. For example, whenutilizing a graph database technology, list membership may beimplemented as graph edges.

Every data modification may be recorded as a Unit of Work (UOW), andreplicated to the node that is performing the “Project Master” role.These changes are then replicated to other nodes as they are eachconnected. The data replication is scoped to an entire project.

Each installation of the system is considered a “Node” in thereplication/installation topography. Nodes perform various functions(Node Roles) for each project, depending on the node's intended use,replication topology choices, security decisions, and/or user/enterprisechoice. It is noted that the nodes roles are preferably per project—notglobal. Therefore, a user workstation node may be the “Project Master”for several projects, while a “Project Member” role for several others.Preferably, there is always one, and only one node operating the“Project Master” role for a given enterprise, user, and/or project.

The replication may occur between two nodes. Each node may initiate areplication session with the nodes acting as the “Project Master” foreach project contained on the node. Generally, this will provide themechanism for an occasionally-connected client to “upload” data changesto the project master node, and “download” changes from the projectmaster, thereby achieving an eventual-consistency model.

The replication process sends changes between nodes by using therecorded unit of work information that reflects all changes made toproject data. Each unit of work is replicated, and applied in an atomicoperation to ensure data consistency.

Each node that contains a replica copy of a project may optionallyprovide data change notifications to a connected client application.This permits changes received via replication to be presented by the UIvia the system notifying the UI that a change to an object and/orproperty has occurred.

Communications

The system may include protocols for wired and wireless communicationsto ensure secure communications. For example, communications between theclient and the server, and between server instances may be performedover an encrypted communications channel, such as a transport layersecurity or similar technique. The encrypted channel prevents “man inthe middle” and other types of security risks to the data.

The system may include a flexible object querying model that may be usedwithin project type configurations, and from client applications.

A data management API, providing the ability to export and import datainto a project may be used. This permits data to be exported/importedto/from a variety of data formats, including, but not limited to, XML,JSON, CSV, etc. Particular export formats (such as EDRM in the legale-discovery area) may be implemented as workflows within the specificproject type. This allows the configurator to tailor exports to specificstandards.

Depending on the deployment models being utilized, backup and datamanagement tasks may be included. By way of example, for standard“Windows®” backup utilities may be sufficient to protect from data loss.

Workflows

A workflow's functionality may be provided using a “Wizard”functionality accessed and graphically implemented using the userinterface to execute “background” or “Server-side” operations on data.Workflows may be implemented using one or more “steps”—these may beUI-based, or Processing-based steps. For example, the movement of one‘icon’ to overlap with another ‘icon’ may result in generating aconnection between the two icons, so that a relationship is made betweenthe data. This provides an intuitive manner of a user tracking theinterrelationships between the data, which is especially useful forcriminal investigations as bits of evidence are obtained or developed.

By way of example, a user drags an object of type “person” (object typesare defined in the project type data model) onto another object—this oneof type “business”. The project type has defined that in the case of a“person” connected to a “business”, an intermediary object (“employeetitle”) is required. The project type configuration would be written asto initiate a workflow to collect data elements required by the“employee title” object, and to complete the linking operation. This isan example of a “UI Workflow”—a workflow that involves prompting theuser for interaction in real-time.

By way of example, a user drags a group of 100 PDF documents into theclient workspace, intending that they be imported. The application thenprompts the user to confirm the import operation. The application theninitiates “queued” workflows to perform the import operation, any OCR orother data management operations in the background. This is an exampleof a “Server-side”, or “background” workflow.

“UI” Workflow steps involve the user in an interactive way—this may beas a notification, or as a multi-step “Wizard” style interface. Theseare defined in the project type UI workflow DLL.

“Processing” workflow steps provide a mechanism for the system toperform work on a user's behalf, or to perform “system” tasks asnecessary for the operation of the system. Processing workflows may beinitiated by user actions (importing a document, for example), or bytimed or interval-based schedules for system tasks.

As workflows are executed, information about their processing state isrecorded in the system. The state information includes all datanecessary to continue processing if it becomes interrupted, as well asproviding an audit trail of workflow steps. This data is retained in therelated project scope.

Workflows may be “Queued” by the user to allow a long-running operationto continue without interrupting or requiring the user's attention. Theuser interface provides a way to monitor “queued” workflows, and forusers and administrators to interact with them.

Processing workflows may often require hours (or perhaps days) ofprocessing time. The system may include a distributed workflowprocessing architecture to allow a single workflow to be executed onmultiple nodes, thereby processing the work in parallel.

An application programming interface allows external access to datastored in the system, as well as facilitating data import/export,reporting, and other integration tasks.

Client Design

The client application may be a metadata-driven user interface. Theclient application may include user interface “building blocks” that maybe used by different project type configurations, as desired, for thetype of data being managed. The meta-data may be included in anysuitable model, including project type data models and user interfaceworkflow models.

Preferably, any user action that results in the change to any projectdata is “saved” automatically and does not require the user to click ona “Save” icon, button, or similar element. This enables an “alwayssaved” working environment for the user and decreases the likelihood ofchanges being lost due to user or system failures. This assists inensuring that data is not lost, which is especially useful for criminalinvestigations.

The system may include cache and heap management components to provide atransparent layer that provides data caching, change management, unit ofwork generation, and the ability for the user interface applications todetermine when changes are committed to the project or otherwiseabandoned. When a client application informs the caching and heapmanagement layer that pending changes should be committed, this bundlesthe changes into a single unit of work, and commits these changes to theserver. The server will harden these changes to the underlying datastore to ensure no data loss occurs.

User Interface

The user interface may include objects displayed thereon. The objectsmay show the interconnections between the different objects to showtheir interrelationships. Further, the nature of the interrelationshipsmay also be illustrated on the user interface. This permits the user toidentify the nature of the data and its interrelationships in agraphical intuitive manner, and facilitate identification of thoserelationships that have yet to be established.

The user interface may be based upon the concept of “panels” ofinformation, which may be docked, torn off, and positioned on secondarymonitors, hidden, or otherwise re-arranged. In this manner, theinterface may be customized to the user's preferences.

Referring to FIG. 7 , by way of example, after logging in, the user maybe presented with their personalized dashboard 700. The dashboard 700may include a quick links 710 section, a my investigations 720 section,and an action items 730 section. In addition, customized widgets may beadded to the dashboard 700, either through integration with otherproducts or customized widgets.

Referring to FIG. 8 , the quick links 710 section may include a set ofdefault widgets, one or more of which may be removed, re-ordered, orsupplemented with additional widgets. By way of example, the widgets mayinclude a “New Investigation” 810 which initiates a new investigation,an “Upload Evidence” 820 which uploads evidence to an existinginvestigation, an “Add Entity” 830 which adds a new entity to anexisting investigation, a “New Action Item” 840 which adds a new actionitem to an existing investigation, and a “Reports” 850 which selects oneor more of available reports from the investigation.

Referring to FIG. 9 , the my investigations 720 section may include alist of projects for the user. By way of example, the projects mayinclude an identifying name 900 for the project, the number of days thatthe project has been open 910, and the statute date indicating adeadline by which the project should be completed 920, typicallyindicative of a statute of limitations for a criminal event. Further,the other information being presented may be customized by the ProjectType configuration.

Referring to FIG. 10 , the action items 730 section may be used tocreate tasks 1000 that the user may then link to other items within theapplication. Action items 730 may have the following functionalabilities: the user may apply tags to an Action item, assign a prioritylevel 1020, define the full description of an action item 1030, set anoptional due date 1040, store who created an action item, assign anaction item to a user, view outstanding action items from all projectson the dashboard, mark action items as complete 1010, define when anaction item is completed, define the percentage complete for an actionitem, link an action item to one or more other action items, and deletean action item 1050. The user may also create a link to one or moreother users. In addition, the user may select and/or highlight OCR textand be presented with a list of commands which may act upon the selectedand/or highlighted text. The user may highlight the text, create anaction item, create a fact, and create an entity. The commands may usethe selected text to perform the selected action.

File Viewer

Using a file viewer, the user sees defined uploaded files within thesystem. The user may also view PDF files, images, multimedia files, Wordfiles, Excel® files, etc. From within the file viewer, the user maylisten to audio files and may listen and view video files, in additionto viewing the other types of files. Referring to FIG. 11 , the user mayalso highlight and select text from within the PDF Files or other typesof files inclusive of multimedia files. This selected text may be usedby the application to create action items and other defined project datamodels. Also, all or a portion of audio file and video files and othermultimedia files may be selected to create action items and otherdefined project data models. The user may select areas within a PDFpage, or other file, and create a new child document, or other file, ofthe selected area. The user may select areas or portions thereof andcreate annotations. These annotations may be linked to project objects.

Referring to FIG. 12 , potential database matches are dotted-underlinedfor users to easily click on them and confirm the database match.

System Canvas

Referring to FIG. 13 , the user may drag objects from choosers thecanvas. The user may move and reposition objects on the canvas. The usermay select multiple objects on the canvas at the same time. The user mayremove an object(s) from the canvas. The user may link allowed objectsby dragging an object(s) on top of another objects(s). The system mayshow links (relationship) between objects with a line between them. Theuser may link allowed object(s) to the relationship between objects. Theuser may reset the canvas to a “logical” default view of the objects onthe canvas. The user may zoom in and out of the canvas.

The selected Object(s) in the canvas may be linked to the propertiespane, so the user may define the properties of the selected object(s).Objects on the canvas will also be displayed in the table pane.

Referring also to FIG. 14 , objects on the canvas may be displayed via acanvas card. A canvas card may have one or more fields displayed fromthe properties of the object. The canvas card may display a title lineand an icon or image. Each object may have a default card defined withthe properties to display in the card. The system may allow a user todefine the layout of a canvas card so that a user may create a visualobject that contains object properties to be viewed in the canvas.

The system may allow a user to save a workspace which may contain one ormore canvases so that a user may store the current canvas views forlater use. The user may select from a list of saved canvas views so thata user may work with that saved workspace. The user may create a newcanvas and/or workspace.

The user may either have a canvas set as private or share a canvas withone or more users that have access to the project. The user may set thepermissions (Read Only or Read-Write) to the user(s) of a shared canvas.

The user may print the entire canvas or a selected area of the canvas toa printer. The user may export the entire canvas or a selected area ofthe canvas to an external file.

Table

The user may manage objects and their properties in a table panel. Theuser may edit, sort, filter, and group objects in the table. The usermay print or export the objects and properties displayed in the table.The user may select one or more objects in the table. The selectedobject(s) in the table are linked to the properties pane, so the usermay define the properties of the selected object(s). The user may selectan object(s) and drop objects onto the table. The canvas and the tablemay display the same objects. The user may remove objects from thetable. The table may display objects as a hierarchical tree of tables.

There may be a suitable set of datatypes for the user interface. Forexample, the datatypes may include base data types, list data types,object data types, stream data types, FuzzyDate data types, money datatypes, DocumentKey data types, and summarization object data types.

For example, the user may select Objects with like kinds of definedproperties (e.g. Integer, Long, Double, Money, FuzzyDate) and put theminto a Summary Object. This Summary Object will be capable of providingto the user the following information about the Objects selected: Count(total number of selected Objects), Average (the average value of theselected Objects), Minimum (the minimum value of the selected Objects),Maximum (the maximum value of the selected Objects), and Sum Total (thetotal sum of the selected Objects).

For example, the end user may define a query for Objects with like kindsof defined properties (e.g. Integer, Long, Double, money, FuzzyDate) andput them into a Summary Object. This Summary Object is able to providethe user with the following information about the objects selected:Count (total number of selected Objects), Average (the average value ofthe selected Objects), Minimum (the minimum value of the selectedObjects), Maximum (the maximum value of the selected Objects), and SumTotal (the total sum of the selected Objects).

Documents and other information may be digitally uploaded or otherwisedigitally scanned into the system. Also, real time information such assecurity cameras, process monitoring equipment, etc., may be directlyimported into the system.

Deployment Architectures

The system components may be deployed in a variety of differentarchitectures depending on system requirements, security requirements,and preferences.

The four primary architectures may include a “Disconnected Client” (seeFIG. 15 ), a “Client Plus Cloud” (see FIG. 16 ), a “Client PlusOn-Premise Enterprise” (see FIG. 17 ), and a “Thin Client On-PremiseEnterprise” (see FIG. 18 ).

Referring to FIG. 15 , in the Disconnected Client model, all componentsof the system are installed on the user's workstation, and there is nonetwork connectivity to other Nodes. This is, in essence, a single-nodeEnterprise. The single Node operates as the Project Master role for alldata. If a customer installs multiple “Disconnected Client”installations, each is independent with no data sharing between thenodes. In this deployment model, data is stored locally on eachworkstation Node. This ensures a maximum amount of data security, whichis especially useful for sensitive criminal investigations.

Referring to FIG. 16 , in the “Client Plus Cloud” deployment model, ahosted, cloud-based Enterprise Master is installed and provided as aSAAS to the client. This hosted Node serves as the Project Master nodefor the Enterprise, hosting the “master” copy of all Enterprise-widedata (project types, projects, users, etc.) The system is then installedon each user's workstations, and made a part of the Enterprise with aNode enrollment process. This establishes that this new Node is a partof the Hosted Enterprise, and replica copies of relevant Projects arereplicated to the new Node. This provides increased flexibility whenmultiple users are accessing a project or otherwise working remotely onmultiple devices.

Referring to FIG. 17 , the “Client Plus On-Premise Enterprise” isfunctionally identical to the Client Plus Cloud model, with theexception that the “Server” is hosted in the customer's own datacenter.This provides additional data security and independence to the users.

Referring to FIG. 18 , the “Thin Client On-Premise Enterprise” Modelprovides a deployment model for users who require no data be housed onuser's local workstations. This is generally done for data securityreasons. In this model, the system is installed on a RDP server, hostedwithin the customer's datacenter, and users access the application(s)through standard Remote Desktop protocols, likely already in-place atthe users site. In this deployment model, all data is housed within thecustomer's data center, and nothing is stored or installed on users'workstations.

Criminal Investigation Process

The aforementioned structures and architectures are especially suitablefor being used in conjunction with a criminal investigation to manage,organize, and process information. By way of example, the criminalprocess for the federal system will be used as an example. Each statehas its own court system and set of rules for handling criminal cases,and varies from the federal system in several ways. A few examples ofdifferences between the state and federal criminal processes are asfollows.

Titles of people involved. State cases are brought by prosecutors ordistrict attorneys while federal cases are brought by United StatesAttorneys. State court trial judges have a range of titles, but federaljudges are always called district court judges. Federal magistratejudges are used in federal cases to hear initial matters (such aspre-trial motions), but they do not generally decide cases. The use ofgrand juries to charge defendants is not required by all states, but itis a requirement in federal felony cases unless the defendant waives thegrand jury indictment. States and the federal government have lawsmaking certain acts illegal, and each jurisdiction is responsible forsetting punishments for committing those crimes. A state may punish acertain crime more harshly than the federal government (or vice versa),but a defendant can be charged and convicted under both systems.

A non-exhaustive list of the fundamental steps involved in a case arelisted below.

-   -   (1) Investigation    -   (2) Charging    -   (3) Initial Hearing/Arraignment    -   (4) Discovery    -   (5) Plea Bargaining    -   (6) Preliminary Hearing    -   (7) Pre-Trial Motions    -   (8) Trial    -   (9) Post-Trial Motions    -   (10) Sentencing    -   (11) Appeal

An investigator using the system (“user”) typically begins a criminalinvestigation after receiving information or an allegation from one ofmany possible sources, including the general public, an informant, oranother law enforcement agency. If the user deems the informationsuitable for additional review, they may initiate an Investigation inthe system.

Investigation Opening Date

Referring to FIG. 19 , for an investigation table 1900 for the database,the user will enter the Investigation opened date 1910 for their agency.For investigations worked in cooperation with other agencies, the usermay enter the date that the investigation was previously opened byanother agency for this value. In this manner, the system includes adate related to the start of the investigation rather than the start ofthe investigation for a particular agency. The date is a fuzzy date. Theinvestigation table may also include the data the investigation wascreated 1920 in the database, which may be different than the openeddate 1910. The software will track how long the investigation has beenopen based on a days open 1930 entry that is based on the opened date1910. The investigation table 1900 may also include whether theinvestigation is open or closed based upon a closed 1940 entry.

Investigation Status

Referring to FIG. 20 , for an investigation status table 2000 the usermay define the investigation status type 2010 for an investigation suchas Investigation Initiated, Indicted, Guilty Plea, etc., from apredefined list set by the agency/company, or a type entered by theuser. For each of the types of investigations defined by theinvestigation status type 2010, a corresponding start date 2020 and enddata 2030 may be defined. For example, when a new status type isselected the start date 2020 may be automatically entered to be thecurrent start date. For example, when another status type is selectedthe end date 2030 for the previous investigation status type 2010 may beentered as the current date. In this manner, the current date may beautomatically used for the end date 2030 of the previous type and beautomatically used for the start date 2020 of the new type. The startdate and end date for each type of the investigations may be used toensure that each portion of the investigation is resolved in a timelymanner.

Investigation Name

The user may enter an investigation name in a description 1950 fieldwhich is a short description for semantic meaning, such as the subject'sname or operation name. The user may set an investigation type 1960 suchas investment fraud, money laundering, murder, etc. The investigationtype 1960 may further be used to add, subtract, or populate additionalproperties of one or more tables. The user may select a set of users fora particular investigation 1990 (or set of related investigation casenumbers) and the investigation statuses 1995 with the particularinvestigation (or set of related investigation case numbers).

Sync Data Offline

In one embodiment, referring to FIG. 21 , based upon an investigationuser table 2100 the user can define sync data file offline 2110, whichif selected permits the data from a server to be provided to a user'slocal machine for subsequent use and modifications. If not selected,principally for security reasons, the data is not permitted to beprovided to a user's local machine for offline usage. In a similarmanner, based upon the investigation user table 2100 the user can definesynch files offline 2120, which if selected permits the files from aserver to be provided to a user's local machine for subsequent use andmodifications. Further the investigation user table 2100 may include anactive 2130 selection which selects whether other investigators arepermitted to simultaneously work on the same investigation, which isespecially important for highly sensitive criminal investigations.

The agency may define a user's role for investigations 2140, such as aninvestigator or supervisor, together with the permissions for the databy the user 2150, such as read-only access, or read-write access orread-only on server access. For example, a supervisor may haveread-only-local-access to a particular investigation.

The user may link their agency case number(s) 1970 that are related tothe Investigation. Investigations may have one or more cases/subjects,which may be linked together for identification and reporting purposes.

A user can define the user role 2140. If the user A is working a casewith another user B then a user A can define user B a user role to allowaccess to another user to access the investigation. The user can definethe user's permissions such as read only and the ability to viewdifferent sections of the investigation.

The user will define a unique key prefix 1980 that will identify eachdigital image and document with the unique prefix within the system. Thesystem may verify that the prefix is indeed unique within the system,and if not, require the user to select another prefix. The unique keyprefix permits the organization and separation of work among multiplesimultaneous investigations.

The user will define the investigation closed 1940. The definition ofclosed may vary based upon the particular agency, and associatedarchiving and rules applicable to a particular agency may be used toprocess the investigation data as a result.

The user will define when an investigation is a grand jury investigation1985. The grand jury's power, although expansive, is limited by itsfunction toward possible return of an indictment. An agency may beinvited into a grand jury investigation by the Federal or StateAttorney's office or the investigating agency can request a grand juryinvestigation from the Federal or State Attorney's office. There aredifferent procedures and approvals that apply to a grand juryinvestigation than an administrative (non-grand jury investigation) andevidence obtained through the grand jury process may be specificallyseparated from non-grand jury evidence.

The user will define currency 1975 as the currency the investigation isbased upon. Investigations may involve different currencies anddifferent countries.

The user will define execute deconfliction 1965, on which entities inthe investigation that are subject to deconfliction. Both users thathave a deconfliction hit, will be notified. The user will also defineonly one-way deconfliction 1955, which only notifies the user thatdefined the entity as a one way deconfliction entity. This definition isuseful when there is a sensitive investigation and other users shouldnot be notified of the existence of the investigation.

Referring also to FIG. 7 , a user can upload one or more digital filesthat can be associated with a project, and a sequential number isapplied to all documents. A unique identification number for eachproject is applied to all documents in that project, which is locked andcannot be changed by the user. The system will perform optical characterrecognition (OCR) on digital files to allow searching. The system willalso perform importing and OCR processing in the background with adisplay of the queue of files being imported into the system.

The system will convert multi-page documents like PDF files intosingle-page documents, and create a numbered document page for eachsingle page. The system will store the following information aboutdigital files: date and time the file was imported into the system,original file name, file size, and the unique identification number. Thesystem may redefine page breaks in multi-page PDF documents. The userwill also be able to select an area of a page of a document and create anew document child for that specific area. A sequential suffix numberwill be applied to the selected area. For example: RPL000234.001 where“0.001” is the suffix number. The same thing can be applied to selectsegments of audio and video files that are in the system to create a newdocument child for that segment. A sequential suffix number will beapplied to the child segment. The user can annotate PDF documents andthe system will store the user who created the annotation. Annotationscan be linked to an existing fact or create a new fact in the system.The user can select from predefined annotations. When a file isconverted to a PDF document the system will store the original files,which will be linked to the files converted. Users will have the abilityto select text in digital files that have been OCR'd, which the systemcan use to create Objects. Emails can be added as digital files into thesystem. Digital files can also be added directly from a computeroperating system.

Entities

Referring to FIG. 58 , an investigation entity table 5800 may identifyentities that are essentially all the things in an Investigation.Examples of entities include: person, business, address, vehicle, boat,plane, application user, phone number, email, IP address, etc. The usercan define Entity Type and link Entity Roles 5810 in the Investigationwhich are selected from a predefined agency list of role types anduser-defined investigation types. The user can also link EntityIdentifiers 5820 (user defined characteristics of an entity. examples:Person: Height, Weight, Hair Color, Sex; Business: Incorporation Data,Business Type; Vehicle: Make, Model, Year, Color). Entity Identifiers5820 can be selected for use in reports. Template Files can be used tocreate Entities that can be imported into the system and Entities canalso be imported from an outside source. An Entity can be deleted froman Investigation and imported from another Investigation. Selected OCRtext in Digital Files can be used to create Entities. The Entity can bemarked as one-way deconfliction 5830. Depending on agency rules, thistype of deconfliction is when only one side of the deconfliction (usersor agencies) is notified of the deconfliction hit. A Fact 5840 can becreated which defines the relationship between Entities. The user cancreate links with Evidence 5850 and define the relationship from a listof predefined and previously used relationships or create a newrelationship. They can also create links to Facts 5840 and EvidenceItems 5850. The user may also enter notes 5860 about the entities.

As previously mentioned, entities are all the things in aninvestigation. Examples include but are not limited to: Person,Business, Address, Vehicle, Boat, Plane, Phone Number, Email and IPaddress. Within the Investigation, the user will open (or create a newInvestigation) and create an Entity. Creating an Entity is a part of theinvestigative process and will link to other parts of the system.Entities will be Deconflicted against other entities in otherinvestigations.

Once an Entity is created, the user will define the Entity Type. TheEntity Type will be chosen from predefined list.

Referring to FIG. 59 , one type of entity that a user may define is aperson using a person table 5900. The person table 5900 may include, forexample, a first name 5910, a last name 5920, a suffix 5930, a date ofbirth 5940, a taxpayer identification number 5950 (e.g., social securitynumber). In some investigations, the same person will use differentdates of birth and social security numbers. In such cases, the user canalso define other date of births used 5960 and other taxpayeridentification numbers used 5970.

The user can define the Person as First Name, Middle Name, Last Name,Suffix, Date of Birth (Fuzzy Date), Taxpayer Identification Number(Social Security Number (SSN)). In some investigations people will usedifferent dates of birth and SSN's. In these cases, the user can alsodefine Other Date of Births used and Other Taxpayer IdentificationNumbers used by the person.

Referring to FIG. 60 , one type of entity that a user may define is abusiness using a business table 6000. The user can define the businessusing a name 6010 of the business and a business taxpayer identificationnumber (EIN) 6020.

Address

Referring to FIG. 62 , one type of entity that a user may define is anaddress using an address table 6200. The user can define an address as aLine1 6210, a Line2 6220, a Line3 6230, a City 6240, a State 6250, aPostal Code 6260, and/or a Country 6270. The system will determine andstore, based upon the address information, GPS Data (Latitude 6280,Longitude 6290) for a defined address if a determine field 6295 isselected.

Referring to FIG. 63 , one type of entity that a user may define is aboat using a boat table 6300. The user can define a boat as Description6310, a HID 6330 (Hull Identification Number), and a boat name 6320,such as Pacific Seacraft Orion 27. The HID Number is a unique identifierfor boats.

Referring to FIG. 64 , one type of entity that a user may define is aplane using a plane table 6400. The user can define a Plane as aDescription 6410, a Tail Number 6420, and a ICAO number (InternationalCivil Aviation Organization number) 6430. The Description is a textdescription of the Plane such as 1973 Boeing 747. The Tail Number of anaircraft is another name for aircraft. The ICAO number is a membernumber to the ICAO, which is a specialized agency of the United Nationsthat codifies the principles and techniques of international airnavigation and fosters the planning and development of international airtransport to ensure safe and orderly growth.

Referring to FIG. 65 , one type of entity that a user may define is aphone number using a phone number table 6500. The user can define aPhone Number as a Number 6510 and an Extension 6520.

Referring to FIG. 66 , one type of entity that a user may define is avehicle using a vehicle table 6600. The user can define a Vehicle as aDescription 6610, a Plate 6620, a State of Plate 6630, and a VIN(Vehicle Identification Number) 6640. The Description is the textdescription of the Vehicle such as 2007 Lexus GX 470. The Plate is thelicense plate numbers and letters. The state of plate is the state ofissuance of the plate. The VIN is the vehicle identification number.

Referring to FIG. 67 , one type of entity that a user may define is anIP address using an IP address table 6700. The user can define the IPAddress as a Description 6710 which is a text description of the IPAddress. Also, the IP address may be linked to entities 6720, facts6730, and evidence items 6740.

Referring to FIG. 68 , one type of entity that a user may define is anEmail using an Email table 6800. The user can define the Email Addressas a Description 6810 which is a text description of the email address.Also, the Email may be linked to entities 6820, facts 6830, and evidenceitems 6840.

In a similar manner, one type of entity that a user may define is a WebAddress using a Web Address table. The user can define the Web Addressas a Description which is a text description of the web address. Also,the web address may be linked to entities, facts, and evidence items.

In a similar manner, one type of entity that a user may define is acomputer using a computer table. The user can define the computer as aDescription which is a text description of the computer and serialnumber. Also, the computer may be linked to entities, facts, andevidence items.

In a similar manner, one type of entity that a user may define is a cellphone using a cell phone table. The user can define the cell phone as aDescription which is a text description of the cell phone and an IMEI.The IMEI—(International Mobile Equipment Identity) is a unique 15-digitserial number given to every mobile phone which can then be used tocheck information such as the phone's Country of Origin, theManufacturer, and its Model Number. Also, the cell phone may be linkedto entities, facts, and evidence items.

For communication purposes a user will generate a public-private keypair, such as a PGP key (stands for Pretty Good Privacy). You share yourpublic key with others so that they can send you encrypted messages orfiles, while keeping your private key secret so that you can decrypt thedata. The user can store the PGP Keys in a key table, and define the PGPKey as a Description, which a text description of the PGP Key, togetherwith the keys.

When a user creates a key, they provide details, like their name, email,and a key description. This information together constitutes a user ID.A good user ID helps people to recognize their key when they are tryingto retrieve or import it. The user can define the PGP Key ID as aDescription, a text description of the PGP Key ID.

The user may create a handle which is a person's online alias orshortened-name, often referred to as a ‘nickname’ or, from a systemsperspective, ‘username’. The user can define the User Handle as aDescription which is a text description of the user handle.

The user may set a virtual currency address as a set of letters andnumbers that allows funds to be sent to or from their virtual currency.The user can define the Virtual Currency Address as a Description, atext description of the virtual currency address.

Account

Referring to FIG. 61 , one type of entity that a user may define is anAccount using an Account table 6100. The user can define an Account as adescription 6110, a Number 6120, an ABA Number 6130, an Open Date 6140,a Closed Date 6150, a Number Decimal Places 6160, a Currency 6170, aNickname 6180, and a Calculation Method 6190. These identifiers for anAccount are suitable for financial investigations. Number is the numberassigned the account. Open Date is the date the account is opened.Closed Date is the date the account is closed. Number of Decimal Placesis the number of decimal places used by the account. Currency is thecurrency type applicable to the account. If the account is a bankaccount, then the user can define the ABA Number which is the AmericanBanking Association's nine-digit routing transit number on the bottom ofnegotiable instruments that identify the financial institution on whichit was drawn. Nickname is a used defined name for the account. When auser has many similar accounts, a Nickname makes it more easilyidentifiable than an account number. For example, “Kris&JohnSavings”could be a nickname. Calculation Method relates to an account that haslegal and illegal (comingled) funds. The definition is made by the user.The Calculation Method defines if the account method of FIFO (First InFirst Out) or LIFO (Last In First Out) is used for the account analysis.

Entity Roles

Once an Entity Type is defined, the user can define the Entity Role5820. The user can select Entity Role 5820 from a predefined agency listof types or define their own role type. Examples of an Entity Role Typecould be the user itself or a Supervisor. Entity Role Types will also bedefined as the investigation Entity Role Type such as a Witness, Subjector Co-Conspirator. These Role Types are Entity's outside the agency. TheEntity Role Types will link to the Investigation Case Number and Entity.

Entity Identifiers

Once an Entity is created, a user can define its Entity Identifiers5820. Entity Identifiers are user to define characteristics of anEntity. The user can define the Entity Identifiers Type of a Personwhich could be Height, Weight, Hair Color, Tattoos or Sex. The user willfurther define the Entity Identifier Type of the Entity Identifiers suchas the Person has Hair Color that is brown. Entity Identifiers of aBusiness could be that it is a Limited Liability Company. The user willselect which Entity Identifiers will be used in the agency reports. Forexample, a user may not want the Weight and Tattoo identifier of aWitness in the particular report because it is not relevant. The usercan link Evidence to an Entity Identifier to document the source of theidentifier.

The user can link an Entity to the Fact 5840, the Evidence 5850 and theAction Items (see FIG. 22 ). One use of linking Entity to Fact andEvidence items is to produce a report linking the evidence of a crime tothe witnesses.

The user can link Entities to each other and define the relationshipbetween the two from a list of predefined and previously usedrelationships or create a new relationship. The user will have abilityto create a Fact, which defines the relationship between the Entities.The user can then link Evidence to these Facts to prove therelationship. This is a suitable technique for defining relationships,and defining the supporting evidence that supports and proves therelationships.

Users can set the Entity for One-Way Deconfliction. One-WayDeconfliction could be set by agency as a rule or by the user. It isused so that notification of a Deconfliction hit is only on one side.For example, it is useful in sensitive investigations.

Users may use a Template File to create Entities that can be importedinto the application. This is especially useful in large cases with manywitnesses. For example, the Template File gives the user the ability foran assistant to enter the information for the user and then the user canimport the Entities into the application.

Users may Import Entities from an outside source. For example, in jointinvestigations when the other agency already has a witness list.

Users may Import Entities from another Investigation within theapplication. Users will have the ability to Delete an Entity from anInvestigation.

Users may create an Entity using the OCR text on digital files. Forexample, when a user has Imported Evidence into the application and isviewing the file, the user can create an Entity from within the digitalfile they are viewing.

“Deconflict” was originally a military term describing efforts to reducethe risk of collision between aircraft and airborne weaponry operatingin the same airspace. In law enforcement, the term refers to the processof ensuring that agencies and/or law enforcement officers are aware ofother agencies/law enforcement officers investigating or interested inthe same entity.

The system allows entities to be Deconflicted across all enteredinvestigations. The deconfliction process compares entities in allinvestigations to look for instances where the same entity is listed inmultiple investigations. If potential conflicts are found, notificationsare sent each case agent (i.e., user).

The system may create an action item for the deconfliction hit thatstates ‘The investigation [Investigation Name] [Entity Type] [EntityDescription] has a possible deconfliction hit with [Other LeadInvestigation User], [Other Lead Investigation User Phone Number],[Other Lead Investigation User Email address]. The action item may haveentity subject to the deconfliction hit linked to the action item andthe user from the other investigation linked to the action item. Thesystem may send an option e-mail or a text of the deconfliction hit tothe users.

Deconfliction matches may be performed by, one or more of the following:

-   -   Account numbers on description,    -   Email on description,    -   Email on email prefix only,    -   IP Address on description,    -   Person on Last Name,    -   Person DOB,    -   Person SSN,    -   Person on Last Name and SSN,    -   Person on SSN and additional Person SSNs,    -   Phone number on description,    -   Web address on description,    -   Business on EIN,    -   Plane on Tail Number,    -   Plane on ICAO,    -   Boat on Boat Name,    -   Boat on HID,    -   Address on Geo Location,    -   Vehicle Deconflicted on VIN, and/or    -   Vehicle on State of Plate and Plate Number.

Investigation Document Data

Referring to FIG. 23 , an investigation document may be referenced by aninvestigation document data table 2300, which is a type of digital filethat has additional information related to investigations, which has aclassification that may be defined. For example, when a file is importedinto the system, it could be Evidence or another type of information.

A document source type 2310 defines the source of document, such as forexample, a Search Warrant, a Document Production Request 2390, aGovernment Document, a Public Document, etc.

A witness 2320 may be linked by the system to define the Witness (EntityData) for the digital file. The witness 2320 is the person who willtestify as to the authenticity of the document, such that the documentmay be admitted into evidence.

A grand jury 2330 may be used by the system to define the digital fileas whether it was obtained through the Grand Jury process, ifapplicable. Whether a document was obtained as a result of the grandjury process is related to the Discovery process for court.

A page code 2340 may be used by the system to define the Page Code whichis an image boundary setting that shows the document's position in thedocument collection's hierarchy. By way of example, an example (D) mayindicate that the image is the first in a document. By way of example,boundary flags may include a S (source), a B (box), a F (folder), and C(child).

In a legal proceeding, some documents are discoverable to the otherparty and some documents are not. To determine whether a document isdiscoverable to the other party in a litigation, the system may definewhether the digital file is Not Discoverable 2350, if applicable. Ifselected as Not Discoverable 2350, the digital file will not be subjectto the Discovery process.

There are several categories of materials for a document, one of whichthe system may define as containing Brady Material 2360. Brady Materialis information or evidence that is known by the prosecution to befavorable to the defendant in a criminal case. It is required that theprosecution turn it over to the defense. In this manner ofcategorization of material, the prosecution can ensure that all suchBrady Material is effectively identified so it can be turned over.

Another of the categories of materials for a document the system maydefine are ones containing Jencks Material 2370. Jencks Material isevidence that is used during a federal criminal prosecution in theUnited States of America. It mostly consists of documents relied upon bygovernment witnesses who testify at trial. The documents/evidence aredescribed as inculpatory. Inculpatory evidence favors the U.S.government's prosecution of the criminal defendant. It is required thatthe prosecution turn it over to the defense. In this manner ofcategorization of material, the prosecution can ensure that all suchJencks Material is effectively identified so it can be turned over.

Another of the categories of materials for a document the system maydefine are ones containing Gigilo-Henthorn Material 2380.Gigilo-Henthorn Material is material that can be used to impeach atestifying law enforcement officer. The prosecution is required to beturn it over to the defense. In this manner of categorization ofmaterial, the prosecution can ensure that all such Jencks Material iseffectively identified so it can be turned over.

Evidence Data

Referring to FIG. 24 , an evidence item table 2400 may be used tocategorize an Evidence Item referencing evidence Imported into thesystem. Evidence is a type of digital file that has been brought in asan investigation document. The user can create links to one or moreevidences and/or entities and define the relationships from a list ofpredefined and previously used relationships or create a newrelationship. The application will automatically search evidence forinvestigative entities and report potential hits to the user forlinking.

The user may enter a Date of the Evidence 2410, for the associatedevidence. For example, a date of a Bank North bank statement is08/02/2016.

The user may define the Evidence Type 2420 which is preferably selectedfrom a list of predefined and previously used values or a new type valuemay be created. For example, an Evidence Type can be a Signature Card,Bank Statement, Check, Deposit, Invoice, or Receipt.

The user may include a Description of Evidence 2430. This provides afield for additional description of the evidence, which may occur if thedate of the evidence 2410 and evidence type 2420 is not likelysufficiently descriptive.

The user may include a Physical Evidence 2440 field to define whethersuch evidence exists as either paper, such as a bank statement, or aphysical object, such as a vehicle. With the unique number prefix of thedigital files, the user can readily import all such evidence items basedupon the unique number prefix.

For example, the user can Import Evidence Types from otherinvestigations. The user can define the hierarchy of evidence. The usercan create links to one or more Evidence Items 2450 and define therelationship from a list of predefined and previously used relationshipsor create a new relationship.

The user can create links to one or more Entities 2460 and define therelationship between the linked Entities from a list of predefined andpreviously used relationships or create a new relationship. Theapplication may automatically search evidence for Investigative Entitiesand report potential hits to the user for linking.

Facts

Referring to FIG. 26 , a fact table 2600 may be used to characterizefacts. A Fact is an incident, act, event, or circumstance. A Fact issomething that has already been done or an action in process. Within anInvestigation, the user will create a Fact.

The user will define a Short Description 2610 of the Fact. For example,a short description could be Marriage License.

The user may define a fuller Description 2620. For example, John andSally were married at the Little Chapel in Las Vegas, Nev.

The user may define a fact date, which is the date of the factualoccurrence. For example, John and Sally were married on 8/8/16.

The Fact can be automatically linked to the user who created the fact2640. In this manner, another user will know who to inquire to obtainmore information about the fact.

The user can link the Fact to an Investigation 2645, users 2650,Evidence Items 2655, Entities 2660, Entity Relationships 2665, andEntity Identifiers 2670. Each of these links assist in the creation ofthe Fact.

The user can link the Fact to an Investigation Report Paragraph 2675.The Investigation Report Paragraph is a paragraph where the Fact hasbeen populated because the user has determined that the Fact is relevantto the report. The Full Description would be populated to the report.

The user can link the Fact to a Document Page Annotation 2680. TheDocument Page Annotation is an annotation in the Investigation ReportParagraph that links to the Fact and supporting evidence. For example,if the Fact is John and Sally were married, the Document Page Annotationwill link the Marriage License, which is the Evidence Item, to theInvestigation Report Paragraph.

The user can link the Fact to an Investigation Summary Report SectionTitles 2690. For example, the section title could be Subject Violations.The Subject Violations are defined from a predefined agency list.

The user can link the Fact to an Investigation Summary Report SubjectViolation Elements 2685. These are linking the Facts and supportingEvidence Items to the Subject Violations Elements. The SubjectViolations Elements are the legal requirements necessary to prove aviolation occurred. For example, if the violation is Wire Fraud, theFact could be that on 8/9/16, the subject wired funds to aco-conspirator.

Fact Connector

Referring to FIG. 128 , the system may present a fact connector using auser interface to the user. By using the fact connector, users caneffectively view the Facts of an Investigation and select elements of acrime that are related to that are connected to subjects in theInvestigation. Once all the elements in a specific violation are met,the user interface indicates it. Once all the Violations for a subjectare met, the user interface also indicates that.

The Fact Connector will display all the defined Facts in anInvestigation on one side of the form and display defined CaseInvestigation Reports on the other side of the form. Using the FactConnector, users can walk through the Facts of an Investigation and linkthe Facts to user defined Investigation Summary Report Subject ViolationElements of a crime in the Investigation. These links are used to relateFacts of the Investigation to possible subject Violations. These linkswill be used to generate a Case Investigation Report. The user can alsouse the Fact Connector to link Facts to other pre-defined and userdefined Investigation Summary Report Section Titles of the CaseInvestigation Report. The Fact Connector assists the user in “writing”the Case Investigation Report by linking defined Facts to sections ofthe report without having to retype the information that is alreadydefined in an Investigation.

Within the Fact Connector the user can define Hide, Order, Date, andCount for Investigation Summary Report Subject Violation(s). The Hide iswhen the user does not want to show this specific violation in thereport. This can occur when working a case and not know until the endthat there is not enough evidence to prove the violation. Rather thandeleting the violation and lose all the facts identified, the user canjust hide them for the final report. The Order (if there are multipleviolation) is where the order of the violation appears with in thesubject. The Date is the date (or year) description the violationoccurred. The Count is the description of the number of counts relatedto the violation. Investigation Summary Report Subject ViolationElement(s) are created from for the user from Violation Elements for theselected Violation when an Investigation Summary Report SubjectViolation is created. The application will define Element Number,Description, and Can Modify. The Element Number and Description aredefined from the Violation Element. The Can Modify defines if the enduser can modify the properties of Investigation Summary Report SubjectViolation Element.

Within the Fact Connector the user can create Investigation SummaryReport Section Title(s) and define Order, Title, Required, CitedSection, Hide, Display In TOC, and Subject Section. The Order is thelocation this section appears in the defined report. The Title is thetext that appears in the default report. The Required is if this sectionmust have Facts linked to the section. The Hide determines if thesection is visible in the end report. The Cited Section determines ifthe linked Facts must have Evidence linked to prove the Facts. TheDisplay In TOC (Table of Contents) determines if this section isdisplayed in the TOC. The Subject Section determines if the section isthen further broken down by the subjects defined in the report. The usercan create and link Investigation Summary Report Section Title(s) toother Investigation Summary Report Section Titles.

Action Item Data

Action Items are used to create tasks, and maintain a list of tasks todo, that the user can then link to other items within the application.Within the Investigation, the user will open (or create a newInvestigation) and create an Action Item using an action item table2200. Action Items may link to many elements, such as Entities 2310,Users, Investigation 2330, facts 2340, and Evidence Items 2320. Also,the user can also Delete an Action Item.

For example, user can assign a Priority Level to the Action Item.

For example, the user can define a full Description of the Action Item.The description may be a few words or many words copies and pasted fromanother location.

For example, the user can define a Due Date

For example, the user can set a Due Date of the Action Item. The DueDate could be a follow up on the Action Item. For example, the Due Datecould be the date to call the attorney about a subpoena request if theuser has not been notified that the subpoena is ready for pick up.

Action Items can be assigned to a User, such as a manager. Theapplication will store the creator of the Action Item. The User willhave the ability to link one or more Users to an Action Item. Forexample, if a User is tasking another User to complete the Action Item.

Once the user has completed the Action Item, they can mark the items asCompleted. The user will define when an Action Item is Completed. Forexample, for one user, an Action Item is complete when a subpoena isissued, for another user, an Action Item is Complete when the subpoenaedrecords are received. The user can also define the Percentage ofComplete Action Items.

The user will have the ability to link a Tag to an Action Items. Tagsallow grouping of Action Items.

The user will be able to view all of the Action Items on all of theirinvestigations on the application Dashboard. For example, when a userbegins their work day, they will know what Action Items are pending onall their investigations from one place.

A user may link an Action Item to one or more Action Items. For example,the user could have several Action Items pending that relate to the samesubject matter.

Mail Cover

Referring to FIG. 29 , a mail cover table 2900 is illustrated todescribe mail cover. Mail Cover is a law enforcement investigative toolin which the United States Postal Service (USPS), acting at the requestof a law enforcement agency, records the data on the outside of anyclass of mail matter [letter, parcel, circular, etc.] before they aredelivered to the addressee and then sends the recorded information tothe requesting agency. The request usually requires management approvaland they are usually limited to thirty days at a time.

Referring to FIG. 30 , a mail cover group table 3000 is illustrated todescribe Mail Cover Groups that links to one or more mail cover items(see FIG. 29 ). There may be many groups particularly if the Mail Coveris renewed for an additional 30 days.

Within the Investigation, the user requests a Mail Cover request throughtheir agency to the USPS. The user links an Address Entity 2910, andlinks Related Person Entities and/or Businesses Entities 2920 associatedto the address in which the mail cover will be conducted. The user linksrelated Investigation Numbers 2930 to the Mail Cover. The user defines aReference Number 2940, a Date Approved 2950, a Begin Date 2960, and anEnd Date 2970. The Date Approved is defined by the agency. It could bethe date approved by the USPS or the date approved by the requestingagency. The Begin Date and End Date are the dates the user defines asthe dates the mail cover will be in effect. The user will also definethe Reference Number, a number relating to that mail cover request.

Once the USPS complies with the request by providing the agency with thedata collected, the user may create a Mail Cover Group 2980 for eachgroup of items received for the mail cover request. The Mail Cover Group2980 is a grouping of the mail cover data collected and sent to therequesting agency. Data collected by the USPS is sent to the requestingagency in groups. The user defines the a Date Received 3010, and aNumber of Items Received 3020. The mail cover group may include links tomail cover items defined by a mail cover item table 3100.

Referring to FIG. 31 , the user will define each Mail Cover Item in theMail Cover Group with an Item Number 3110 and a Letter Date 3120. Theuser also links an Address Entity 3130 and related Person Entitiesand/or Business Entities 3140 in which the letter came from.

After the information, has been processed and returned to the USPS, theuser enters a Number of Items Returned 3030 and a Date Returned 3040 tothe USPS.

Telephone Toll Analysis Data

There are various methods to obtain Telephone Toll Analysis. Penregisters and trap-and-trace devices are a law enforcement investigativetechniques that capture the phone numbers dialed on outgoing telephonecalls and capture the numbers of incoming calls if caller ID is present.No conversations are recorded using such techniques and a court order isrequired. Law enforcement also receives telephone toll data from SearchWarrants and Document Production Requests.

Referring to FIG. 32 , a phone toll table 3200 may be used to describetelephone based information. Within the Investigation, the user willcreate a Telephone Toll Analysis to document the analysis.

The system links to a Phone Number Entity 3210, which is the phonenumber of the toll analysis.

The system links to a Person/Business Entity 3220 associated with thephone number.

The system defines a Beginning Date 3230 which is when the toll analysisstarts and an Ending Date 3240 which is when the toll analysis ends.

The system defines a Phone Toll Type 3250 for the investigation. By wayof example, the Phone Toll Type could be a Pen Register or a Trap andTrace Device.

The phone toll detail may be linked to the Phone Number Entity 3210, thePerson/Business Entity 3220, and the Phone Toll Details 3260.

Referring to FIG. 33 , the system links the phone toll details 3260 to aphone toll detail table 3300. When the Phone Toll Data is received, theuser will define the details of the Phone Toll Detail. The details foreach of the phone toll detail entries may include a data and time 3310of the data received and a duration 3320 of the phone call. An outgoingand incoming Phone Number Entity 3330 may be included as the telephonenumber the call was placed to or received from.

Financial Data

Referring to FIG. 34 , a bank statement may be included in a bankstatement table 3400 to describe bank statement data. The bank statementmay include a begin date 3410, a begin balance 3420, an end date(evidence date) 3430, an end balance 3440, a total deposits 3450, atotal withdrawals 3460, and a reconciled 3470. This provides the basicbank statement information suitable for providing evidence for a court.The bank statements may link to an account 3480, a bank transactions3485, and a lock status 3490.

Referring to FIG. 35 , a bank transaction may be included in a banktransaction table 3500 to describe bank transaction data. The banktransaction may include a check number 310, a cleared date 3520, and anamount 3530. The bank transaction may link to a bank transaction details3540, and an entities 3550.

Referring to FIG. 36 , a bank transaction detail may be included in abank transaction detail table 3600 to describe bank transaction detaildata. The bank transaction detail may include an amount 3610. The banktransaction detail may link to a bank item 3620.

Referring to FIG. 37 , a bank item may be included in a bank item table3700 to describe bank identification data. The bank item may include anitem date 3710, an amount 3720, a memo 3730, an ABA number 3740, anaccount number 3750, and a bad unknown amount 3760. The bank item maylink to a bank items 3770 and an account 3780.

Referring to FIG. 38 , a check may be included in a check table 3800 todescribe check data. The check may include a check number 3810.

GPS Tracking Data

Global Positioning System (GPS) tracking can track vehicles and people.A GPS Tracking Device, GPS tracking, and surveillance are some of thetracking methods. A GPS tracking device are trackers placed on vehicles.A search warrant may be required for a GPS Tracking Device.

Referring to FIG. 27 , a GPS tracking event period table 2700 may beused to track GPS data.

The system may link to tracking events 2710 as events related to the GPStracking (see FIG. 28 ).

The system may link to a tracking type 2720, which may be for example,GPS tracking device, foot surveillance, etc.

The system may create a Tracking Event Period that includes a beginningdate 2730 and an ending date 2740 of the tracking activities.

The system may include a link to an entity being tracked 2750.

The system may include a Tracking Event table 2800 for tracking events.

A Tracking Event includes details of the tracking, such as a Date andTime of Event 2810, a latitude 2820 which is an angular distance of aplace north or south of the earth's equator, a longitude 2830 which isan angular distance of a place east of west of the earth's equator, andan address description 2840 which may be a location, an address, abusiness, an area, etc. describing the address.

The user will also link to an Address Entity 2850 to the Tracking Event.The user will link the Entity Being Tracked 2750, the Tracking Type2720, and the Tracking Events 2710 to the event period.

Search Warrant Data

A Search Warrant is a court order authorizing law enforcement officersto search a person or place with the intent to discover stolen property,contraband, or evidence of guilt to be used in the prosecution of acriminal action. Law enforcement officers obtain Search Warrants bysubmitting affidavits and other Evidence to a judge or magistrate. Theaffidavit must establish Probable Cause to believe that a search willyield Evidence related to a crime. If the judge or magistrate believesthat probable cause was met in the affidavit, he/she will issue thewarrant.

Search Warrant Boxes hold the items to be seized. Each box usuallycontains like kind items (Search Warrant Box Type) being seized, likedigital, contraband, valuables (currency, jewelry, etc.) and all otheritems. Each box is given a number for ease of tracking.

Seized Groups are the items listed in the affidavit to be seized(usually Attachment B). This will allow for the ability to link theitems to be seized in to a search warrant and to the item seized.

Search Warrant Address

Referring to FIG. 50 , usually when planning a search warrant for anaddress there is a significant amount of planning that goes into theexecution of the search warrant. In the application for the searchwarrant, the user opens (or create a new Investigation) and creates aSearch Warrant using a search warrant table 5000. The user defines aJudicial Area 5010 the search warrant will be executed, link relatedinvestigation Case Number(s) 5050, link an Entity as a search location5055 that is to be searched, link to an investigation 5085, link to asearch warrant plan 5075, link to search warrant files 5065, link tosearch warrant rooms 5055, link to a search warrant item 5045, and linkto search warrant property seized groups 5035. The user can also linkthe Violation(s) 5030 identified in the affidavit for the searchwarrant. The user can also link a Person/User 5040 who is the affiant ofthe search warrant.

Referring to FIG. 51 , a search warrant plan table 5100 may be used fordata regarding a search warrant plan. The user would then create aSearch Warrant Plan in the application. The user defines an Objective5110, a Plan of Action 5120, and Other Pertinent Information 5130. Theuser defines a proposed Execution Date and Time 5140. Based on thelocation of the search the user links an Address as the Staging Location5150 and defines the Staging Date and Time 5160 for the search warrant.The staging location is where law enforcement will gather prior to theexecution of the search warrant. The user would then link all proposedSearch Warrant Personal 5170 who will assist with the execution of thesearch warrant.

Referring to FIG. 52 , the user can include search warrant person datain a search warrant person table 5200. The user will define Initials5270 and link to any Notes 5210 for that person. Then the user can linkto a proposed Search Warrant Role(s) 5220 for each Search Warrant Person5240 has in the execution of the search warrant and the Search WarrantEquipment(s) 5230 each Search Warrant Person 5240 is responsible forbringing to the search warrant.

Referring to FIG. 53 , the user can include search warrant person roledata in a search warrant person role table 5300. The search warrantperson role data may include a description 5310 of the person's role anda link to the person role type 5320.

The user will link a Business Entity to define the Nearest MedialFacility 5180. The user will link the Address to the Nearest MedialFacility Address 5190. The user will then link all possible Entities5195 expected to be present at the execution of the search warrant. Inthis manner, in the event the execution of the search warrant results ininjury, the user can readily locate the nearest medical facility.

After the search warrant and affidavit have been signed by a judge, theuser will scan (Import as a Documents) and link a copy of the signedsearch warrant document and affidavit to the search warrant in theapplication and make any needed changes to the Violation(s) in theaffidavit that are linked to the search warrant. Then the user candefine a Court Reference Number 5020.

Referring to FIG. 57 , the user may then create Search Warrant SeizedProperty Groups using a search warrant seized property groups table 5700from the items lists to be seized which is usually attachment B to thesearch warrant. The user may define an Item Number 5710 and aDescription 5720 of the Search Warrant Seized Property Group.

The user can also attach any agency specific required approval documentsto the Search Warrant. The user would scan and/or Import as a Documentand linked to the Search Warrant as Search Warrant File Link Type“Approval Document”.

After entry has been made to the search location and the site is secure,the user will setup their computer and open the application. Then theuser can set the Start Time 5060 of the Search Warrant. The user canenter any Entities (people, vehicles, boats, etc.) 5070 that are presentat the search warrant. The user can also add all (or import from theSearch Warrant Plan) Search Warrant Personal 5080 that are present toassist in the execution of the search warrant. The user can define (orcorrect from the import) each Search Warrant Person Role(s) 5220 andSearch Warrant Person Equipment(s) 5230. Whenever any Search WarrantPersonal 5240 leave, the user can enter an End Time 5250 into thesystem. The system can also enter the initials 5260 of the user.

The law enforcement officers on site will document the condition of thesearch site immediately after the search location is secure withpictures and/or video. These files will be imported as Documents linkedto the Search Warrant as Search Warrant File Link Type “EntryCondition”.

Usually a law enforcement officer on site will draw a sketch of thesearch location. This sketch will be scanned (Import as a Document)after the warrant and linked to the Search Warrant as Search WarrantFile Link Type “Location Sketch”.

Referring to FIG. 54 , the search location will be divided into logicalareas (usually in a business it would be offices and in a residence, itwould be bedrooms, kitchen, office, living room, etc.) These will belinked to the Search Warrant as a Search Warrant Area in the searchwarrant area table 5400. Each Search Warrant Area will have a Code 5410defined which is usually a letter of the alphabet (A, B, C, D, etc.) anda Description 5420 of the area like Master Bedroom, Kitchen, Office,etc.) and links to search warrant items 5430. The area codes should benotated on the sketch for later reference later.

Referring to FIG. 56 , usually one person is designated to manage theevidence being seized at the search location. When evidence is found, itis usually placed into a like kind Search Warrant Box which may beidentified using a search warrant box table 5600. Boxes are usuallyorganized into Search Warrant Box Type 5620, like digital, contraband,valuables (currency, jewelry, etc.) and all other items. These boxeswill be linked to the Search Warrant as Search Warrant Box 5090. EachSearch Warrant Box will have a Box Number 5610 and the Search WarrantBox Type 5620.

Referring to FIG. 55 , during the search phase of the search warrantexecution, law enforcement officers will find evidence that is definedin the items to be seized in the search warrant. Usually a photo(s) aretaken of the evidence where it is found. Then the item of evidence canbe entered into the system as a Search Warrant Item in a search warrantitem table 5500. The system will generate the Item Number 5510 (based onthe last Item entered). The user will link a Search Warrant Area 5530, aSearch Warrant Box 5540, a Search Warrant Property Seized Group(s) 5550,a Search Warrant Person as the Seizing Officer 5555, and a SearchWarrant Person(s) 5520 who found the evidence item. The user will alsodefine Where Found 5560 (a description of where the item was found inthe Search Warrant Area). The user can also link any Entities 5570identified in the item of evidence found. If the item found wascontraband 5580 (an item that possession of is not legal), then the userwould set the Contraband value to true. The photo(s) of the evidencewill be imported as Documents and linked to the Search Warrant as SearchWarrant File Link Type “Evidence item”

During the search of the location law enforcement may take additionalvideo or pictures. These files will be imported as Documents and linkedto the Search Warrant as Search Warrant File Link Type “Search WarrantPhoto” or “Search Warrant Video”.

The law enforcement officers on site will document the condition of thesearch site at the end of the search warrant with pictures and/or video.These files will be imported as Documents and linked to the SearchWarrant as Search Warrant File Link Type “Exit Condition”

After the inventory is printed from the application, the user can enterthe End Time 5095 of the search warrant which will log the End Time 5250all remaining Search Warrant Personal as leaving as well.

Search Warrant Person

By way of example, usually when planning a search warrant for a personthere is a significant amount of planning that goes into the executionof the search warrant. In the application, the user would open (orcreate a new Investigation) and create Search Warrant. Then the userwould define the Judicial Area the search warrant will be executed, linkthe related investigation Case Number(s), link the Person Entity that isto be searched. The user can also link the Violation(s) identified inthe affidavit for the search warrant. The user can also link the User orPerson who is the affiant of the search warrant.

The user would then create a Search Warrant Plan in the application.Then the user will define the Objective, Plan of Action, and OtherPertinent Information. User will define the proposed Execution Date andTime. Based on the location of the search the user will link the AddressEntity for the Staging Location and define the Staging Date and Time forthe search warrant. The staging location is where law enforcement willgather prior to the execution of the search warrant. The user would thenlink all the proposed Search Warrant Personal who will assist with theexecution of the search warrant. The user will define the Initials andany Notes for that person. Then the user can assign the proposed SearchWarrant Role(s) for each Search Warrant Person has in the execution ofthe search warrant and the Search Warrant Equipment(s) each SearchWarrant Person is responsible for bringing to the search warrant. Eventhough it may not be known where the person is located it is still goodto associate a Business Entity to define the Nearest Medial Facility.The user will link the Address to the Nearest Medial Facility Address.The user will then link all possible Entities expected to be present atthe search warrant.

After the search warrant and affidavit have been signed by a judge, theuser will scan (Import as a Documents) and link a copy of the signedsearch warrant document and affidavit to the search warrant in theapplication and make any needed changes to the Violation(s) in theaffidavit that are linked to the search warrant. Then the user candefine the Court Reference Number. The user can then create SearchWarrant Seized Property Groups from the items lists to be seized whichis usually attachment B to the search warrant. The user would defineItem Number and Description of the Search Warrant Seized Property Group.

The user can also attach any agency specific required approval documentsto the Search Warrant. The user would scan and/or Import as a Documentand linked to the Search Warrant as Search Warrant File Link Type“Approval Document”.

After the person is secure, the user will setup their computer and openthe application. Then the user can set the Start Time of the SearchWarrant. The user can enter any Entities (people, vehicles, boats, etc.)that are present at the search warrant. The user can also add all (orimport from the Search Warrant Plan) Search Warrant Personal that arepresent to assist in the execution of the search warrant. The user candefine (or correct from the import) each Search Warrant Person Role(s)and Search Warrant Person Equipment(s). Whenever any Search WarrantPersonal leave, the user can enter the End Time into the system.

The search location will usually only be the person itself, but could bedivided into logical areas if necessary (could be wallet, purse,briefcase, etc.) These will be linked to the Search Warrant as SearchWarrant Area. Each Search Warrant Area will have a Code defined which isusually a letter of the alphabet (A, B, C, D, etc.) and a Description ofthe area like wallet, purse, briefcase, etc.).

Usually one person is designated to manage the evidence being seized atthe search location. If there is a large amount of evidence, it may beplaced into a like kind Search Warrant Box. Boxes are usually organizedinto Box Types, like digital, contraband, valuables (currency, jewelry,etc.) and all other items. These boxes will be linked to the SearchWarrant as Search Warrant Box. Each Search Warrant Box will have a BoxNumber and Box Type.

During the search phase of the search warrant execution, law enforcementofficers will find evidence that is defined in the items to be seized inthe search warrant. Usually a photo(s) are taken of the evidence whereit is found. Then the item of evidence can be entered into the system asa Search Warrant Item. The system will generate the Item Number (basedon the last Item entered). The user will link the Search Warrant Area,Search Warrant Box, Search Warrant Property Seized Group(s), SearchWarrant Person as the Seizing Officer, and Search Warrant Person(s) whofound the evidence item. The user will also define Where Found (adescription of where the item was found in the Search Warrant Area). Theuser can also link any Entities identified in the item of evidencefound. If the item found was contraband (an item that possession of islegal), then the user would set the Contraband value to true. Thephoto(s) of the evidence will be imported as Documents and linked to theSearch Warrant as Search Warrant File Link Type “Evidence item”

During the search of the location law enforcement may take additionalvideo or pictures. These files will be imported as Documents and linkedto the Search Warrant as Search Warrant File Link Type “Search WarrantPhoto” or “Search Warrant Video”

After the inventory is printed from the application, the user can enterthe Ending Time of the search warrant which will log the End Time allremaining Search Warrant Personal as leaving as well.

Search Warrant Vehicle, Boat, or Plane

Usually when planning a search warrant for a Vehicle, Boat, or Planethere is a significant amount of planning that goes into the executionof the search warrant. In the application, the user would open (orcreate a new Investigation) and create Search Warrant. Then the userwould define the Judicial Area the search warrant will be executed, linkthe related investigation Case Number(s), link the Vehicle, Boat, orPlane that is to be searched. The user can also link the Violation(s)identified in the affidavit for the search warrant. The user can alsolink the User or Person who is the affiant of the search warrant.

The user would then create a Search Warrant Plan in the application.Then the user will define the Objective, Plan of Action, and OtherPertinent Information. User will define the proposed Execution Date andTime. Based on the location of the search the user will link the AddressEntity for the Staging Location and define the Staging Date and Time forthe search warrant. The staging location is where law enforcement willgather prior to the execution of the search warrant. The user would thenlink all the proposed Search Warrant Personal who will assist with theexecution of the search warrant. The user will define the Initials andany Notes for that person. Then the user can assign the proposed SearchWarrant Role(s) for each Search Warrant Person has in the execution ofthe search warrant and the Search Warrant Equipment(s) each SearchWarrant Person is responsible for bringing to the search warrant. Eventhough it may not be known where the person is located it is still goodto associate a Business Entity to define the Nearest Medial Facility.The user will link the Address to the Nearest Medial Facility Address.The user will then link all possible Entities expected to be present atthe search warrant.

After the search warrant and affidavit have been signed by a judge, theuser will scan (Import as a Documents) and link a copy of the signedsearch warrant document and affidavit to the search warrant in theapplication and make any needed changes to the Violation(s) in theaffidavit that are linked to the search warrant. Then the user candefine the Court Reference Number. The user can then create SearchWarrant Seized Property Groups from the items lists to be seized whichis usually attachment B to the search warrant. The user would defineItem Number and Description of the Search Warrant Seized Property Group.

The user can also attach any agency specific required approval documentsto the Search Warrant. The user would scan and/or Import as a Documentand linked to the Search Warrant as Search Warrant File Link Type“Approval Document”.

After the Vehicle, Boat, or Plane is secure, the user will setup theircomputer and open the application. Then the user can set the Start Timeof the Search Warrant. The user can enter any Entities (people,business, etc.) that are present at the search warrant. The user canalso add all (or import from the Search Warrant Plan) Search WarrantPersonal that are present to assist in the execution of the searchwarrant. The user can define (or correct from the import) each SearchWarrant Person Role(s) and Search Warrant Person Equipment(s). Wheneverany Search Warrant Personal leave, the user can enter the End Time intothe system.

The search location will usually only be the Vehicle, Boat, or Planeitself, but could be divided into logical areas if necessary (could betrunk, glove compartment, inside vehicle, etc.) These will be linked tothe Search Warrant as Search Warrant Area. Each Search Warrant Area willhave a Code defined which is usually a letter of the alphabet (A, B, C,D, etc.) and a Description of the area like trunk, glove compartment,inside vehicle, etc.

Usually one person is designated to manage the evidence being seized atthe search location. If there is a large amount of evidence, it may beplaced into a like kind Search Warrant Box. Boxes are usually organizedinto Box Types, like digital, contraband, valuables (currency, jewelry,etc.) and all other items. These boxes will be linked to the SearchWarrant as Search Warrant Box. Each Search Warrant Box will have a BoxNumber and Box Type.

During the search phase of the search warrant execution, law enforcementofficers will find evidence that is defined in the items to be seized inthe search warrant. Usually a photo(s) are taken of the evidence whereit is found. Then the item of evidence can be entered into the system asa Search Warrant Item. The system will generate the Item Number (basedon the last Item entered). The user will link the Search Warrant Area,Search Warrant Box, Search Warrant Property Seized Group(s), SearchWarrant Person as the Seizing Officer, and Search Warrant Person(s) whofound the evidence item. The user will also define Where Found (adescription of where the item was found in the Search Warrant Area). Theuser can also link any Entities identified in the item of evidencefound. If the item found was contraband (an item that possession of islegal), then the user would set the Contraband value to true. Thephoto(s) of the evidence will be imported as Documents and linked to theSearch Warrant as Search Warrant File Link Type “Evidence item”

During the search of the location law enforcement may take additionalvideo or pictures. These files will be imported as Documents and linkedto the Search Warrant as Search Warrant File Link Type “Search WarrantPhoto” or “Search Warrant Video”

The law enforcement officers on site will document the condition of thesearch site at the end of the search warrant with pictures and/or video.These files will be imported as Documents and linked to the SearchWarrant as Search Warrant File Link Type “Exit Condition”

After the inventory is printed from the application, the user can enterthe Ending Time of the search warrant which will log the End Time allremaining Search Warrant Personal as leaving as well.

Search Warrant Computer or Cell Phone

Usually when planning a search warrant for a Computer or Cell Phonethere isn't a significant amount of planning that goes into theexecution of the search warrant. In the application, the user would open(or create a new Investigation) and create Search Warrant. Then the userwould define the Judicial Area the search warrant will be executed, linkthe related investigation Case Number(s), link the Computer or CellPhone that is to be searched. The user can also link the Violation(s)identified in the affidavit for the search warrant. The user can alsolink the User or Person who is the affiant of the search warrant.

After the search warrant and affidavit have been signed by a judge, theuser will scan (Import as a Documents) and link a copy of the signedsearch warrant document and affidavit to the search warrant in theapplication and make any needed changes to the Violation(s) in theaffidavit that are linked to the search warrant. Then the user candefine the Court Reference Number. The user can then create SearchWarrant Seized Property Groups from the items lists to be seized whichis usually attachment B to the search warrant. The user would defineItem Number and Description of the Search Warrant Seized Property Group.

The user can also attach any agency specific required approval documentsto the Search Warrant. The user would scan and/or Import as a Documentand linked to the Search Warrant as Search Warrant File Link Type“Approval Document”.

The law enforcement officer would have a digital image made of theComputer or Cell Phone. The user can import in the items to be seized,these files be imported as Documents and linked to the Search Warrant asSearch Warrant File Link Type “Evidence Item”.

After the inventory is printed from the application, the user can enterthe Ending Time of the search warrant.

Search Warrant Email or Online Server

Usually when planning a search warrant for an Email or on-line serverthere isn't a significant amount of planning that goes into theexecution of the search warrant. In the application, the user would open(or create a new Investigation) and create Search Warrant. Then the userwould define the Judicial Area the search warrant will be executed, linkthe related investigation Case Number(s), link the Email, orBusinesses/Person who controls the on-line server that is to besearched. The user would also link the Business Entity or Person Entitycontrolling the Email, computer, or server. The user can also link theViolation(s) identified in the affidavit for the search warrant. Theuser can also link the User or Person who is the affiant of the searchwarrant.

After the search warrant and affidavit have been signed by a judge, theuser will scan (Import as a Documents) and link a copy of the signedsearch warrant document and affidavit to the search warrant in theapplication and make any needed changes to the Violation(s) in theaffidavit that are linked to the search warrant. Then the user candefine the Court Reference Number. The user can then create SearchWarrant Seized Property Groups from the items lists to be seized whichis usually attachment B to the search warrant. The user would defineItem Number and Description of the Search Warrant Seized Property Group.

The user can also attach any agency specific required approval documentsto the Search Warrant. The user would scan and/or Import as a Documentand linked to the Search Warrant as Search Warrant File Link Type“Approval Document”.

The law enforcement officer would send the search warrant to thecontrolling Business or Person entity. After the controlling Business orPerson entity return the information defined in the items to be seized,these files be imported as Documents and linked to the Search Warrant asSearch Warrant File Link Type “Evidence Item”.

After the inventory is printed from the application, the user can enterthe Ending Time of the search warrant.

Document Production Request Data

Document Production Requests are Investigation requests that command orrequest others to produce documents to the requesting party. There aredifferent types of requests. In general, they include a Summons, aSubpoena, a Letters Rogatory, and a Mutual Legal Assistance Treaty(MLAT) request. Summons and Subpoenas compel testimony and documentsdomestically. A Letters Rogatory is a judicial request for informationfrom aboard. MLATS are exchanges of information for criminal purposesbetween countries.

Referring to FIG. 25 , a document production request data may beidentified within a document production request data table 2500. Withinthe Investigation, the user will request a Document Production Request.The user will define a Document Production Request Type 2510 within theInvestigation. The Document Production Request Type may be from apredefined list. The list may include, for example, Summons, Subpoena,Letter of Rogatory and a MLAT. The user will define a Served Date 2520as the date the request was effectively served on the entity to which itwas addressed. The user will define a Due Date 2530 of the Request asthe date the testimony or documents are due to be in compliance. Theuser will define a Date request was Complied with 2540 as the actualdate the recipient complied with the request. (e.g. the date the witnessproduced the documents requested). The user will link to a Status of theRequest 2550 (e.g. Pending or Completed). The user will link to TheEntity that was sent the Request 2560 which is typically a Person or aBusiness Entity. The user will link to the Address of the entity 2570,where the document production request was sent.

The system may also include suitable tables to track the issuance,service, and results of summons and subpoenas.

Case Investigation Report

Investigation Reports document the information and documents receivedwhile conducting an investigation. Information can be obtained frominformants, subjects, and third party witnesses. Investigation Reportsalso document activities that the law enforcement officer has conductedin the investigation. These can include trash runs, surveillance, anddrive-bys. Investigation Reports can also be question-and-answerstatements, which are transcripts of the questions and answersdocumented during an interview.

Referring to FIG. 48 , an investigation report can be included within aninvestigation report table 4800. The investigation report may include astart time 4810, an end time 4820, an other location 4830, and aprepared date 4840. The investigation report may link to aninvestigations report paragraphs 4850, an investigation numbers 4860,and an investigation report entity link type roles 4870.

Referring to FIG. 49 , an investigation report paragraph can be includedwithin an investigation report paragraph table 4900. The investigationreport paragraph may include a number 4910, a description 4920, an entrytime 4930, an entry date 4940, and a last change 4950. The investigationreport paragraph may include links to an entities 4960, an evidenceitems 4970, and a facts 4980.

Investigation Summary Report

Referring to FIG. 39 , investigators create a case investigation reportthat may be based upon a violation table 3900. Investigators create asummary report of the subject information, witness information,Violations, Elements and Facts they are investigating. The CaseInvestigation Report allows the user to create reports with thesubject(s) being investigated. Then the user can select the Violation orViolations for which the subject is being investigated. These Violationsand Elements are defined by the agency or company. The user can use theFact Connector to link the Facts created in the system and link them tothe Defined Elements and other sections of the Report. The applicationwill then convert these links to a defined report format that the usercan either export to a Linked Report or print.

The agency or company will create all the Violations that they areinvestigating so the end users can select them for use while workinginvestigations. The agency or company will define a Title 3920, aSection 3930, a Description 3940 (Text description of the violation),and Help Description 3950 (Guidance for the end user on how and when touse the violation). The agency or company can create and link ViolationElements 3910.

Referring to FIG. 40 , violation elements may be determined based upon aviolation element table 4000. Then the agency or company would define anElement Number 4010, a Description 4020 (Description of the Element),and a Help Description 4030 (Guidance for the end user on how and whento use the element)

Referring to FIG. 41 , an investigation summary report section titledefault may be determined based upon an investigation summary reportsection title table 4100. The agency or company will create default CaseInvestigation Reports defined report format(s). The agency or companywill create an Agency Form 4110 which is linked in which the user canlink Summary Report Section Title Defaults. This gives the user theability to define the default sections of defined reports. A SummaryReport Section Title Default can have linked Summary Report SectionTitle Defaults 4120 so that the agency or company can create titles withsub titles.

The agency or company can create and link Summary Report Section TitleDefault and then define an Order 4130, a Title 4140, a Required 4150, aHide 4160, a User Created 4170, a Cited Section 4180, a Display In TOC4185, a Subject Section 4190, an Allow User Section 4195, and a Can Move4175. The Order 4130 is the location this section appears in the definedreport. The Title 4140 is the text that appears in the default report.The Required 4150 is if this section may have Facts linked to thesection. The Hide 4160 determines if the end user can hide the sectionin the end report. The Cited Section 4180 determines if the linked Factsmay have Evidence linked to prove the Facts. The Display in TOC (Tableof Contents) 4185 determines if this section is displayed in the TOC.The Subject Section 4190 determines if the section is then furtherbroken down by the subjects defined in the report. The Allow UserSection 4195 defines if the end user can create child sections withinthis default section. The Can Move 4175 defines if the end user can movewhere the section is displayed in the report.

Referring to FIG. 42 , an investigative summary report may be determinedbased upon an investigative summary report table 4200. The user cancreate an Investigative Summary Report which will be selected from adefined Agency Form 4210 which has the Summary Report Section TitleDefaults defined. The system will create an Investigation Form based onthe Agency Form 4210 and then Summary Report Section Titles that aregenerated from the Summary Report Section Title Defaults. The user candefine a Title 4220, a Theory 4230, and the Table of Contents (If thereport will have one or not). The Title 4220 is the name of the reportso the end user can organize their investigation if they have severalInvestigative Summary Reports in a single investigation. The Theory 4230is a summary narrative of the theory of the investigation. The user canlink additional Investigation Summary Report Section Title(s) to theInvestigative Summary Report. This will allow the user to create customsections and link to each Investigative Summary Report to account forthe uniqueness of each investigation. The user can create InvestigationSummary Report Attachment(s) 4240 and link to each Investigative SummaryReport. This attachment can be an Investigation Document or SummaryObject. This allows the user to add additional information to theInvestigative Summary Report. The user may link to an investigationsummary report subjects 4250, an investigation summary report sectiontitles 4260, and an investigation summary report appendices 4270.

Referring to FIG. 46 , an investigation summary report section title maybe determined based upon an investigation summary report section titletable 4600. The user can create Investigation Summary Report SectionTitle and define an Order 4610, a Title 4615, a Required 4620, a usercreated 4630, a Cited Section 4635, a Hide 4625, a Display In TOC 4640,a Subject Section 4645, an allow user section 4650, and a can move 4655.The Order 4610 is the location this section appears in the definedreport. The Title 4615 is the text that appears in the default report.The Required 4620 is if this section may have Facts linked to thesection. The Hide 4625 determines if the section is visible in the endreport. The Cited Section 4635 determines if the linked Facts may haveEvidence linked to prove the Facts. The Display In TOC (Table ofContents) 4640 determines if this section is displayed in the TOC. TheSubject Section 4645 determines if the section is then further brokendown by the subjects defined in the report. The user can create and/orlink Investigation Summary Report Section Title(S) 4670 to otherInvestigation Summary Report Section Titles, create and linkInvestigation Summary Report Subjects 4680, link to facts 4690, andcreate and/or link to an agency form 4660.

Referring to FIG. 43 , an investigation summary report subject may bedetermined based upon an investigation summary report subject table4300. Once the Investigative Summary Report is created the user can link(or create) Investigation Summary Report Subject(s). The InvestigationSummary Report Subject is the subject (Person or Business underinvestigation) of the summary report. The user can link a Person orBusiness 4310 as the subject. The user can link related InvestigationNumber(s) 4320. The user can link Investigation Summary Report SubjectViolation(s) which are the Violation(s) 4330 the subject is beinginvestigated. The user can define a Hide 4340, an Order 4350, and aVenue Description 4360. The Hide 4340 is when the user does not want toshow this Subject in the report. This can occur when working a case andnot know until the end that there is not enough evidence to prove theviolation(s). Rather than deleting the subject and lose all the factsidentified, the user can just hide them for the final report. The Order4350 (if there are multiple subjects) is where the order of the subjectappears in the report. The Venue Description 4360 is the description ofthe location of the venue. Venue is the judicial district in which acrime occurred and where a trial can be held.

Referring to FIG. 44 , an investigation summary report subjectviolations may be determined based upon an investigation summary reportsubject violations table 4400. The user can define a Hide 4410, an Order4420, a Date 4430, and a Count 4440 for Investigation Summary ReportSubject Violation(s). The Hide 4410 is when the user does not want toshow this specific violation in the report. This can occur when workinga case and not know until the end that there is not enough evidence toprove the violation. Rather than deleting the violation and lose all thefacts identified, the user can just hide them for the final report. TheOrder 4420 (if there are multiple violation) is where the order of theviolation appears with in the subject. The Date 4430 is the date (oryear) description the violation occurred. The Count 4440 is thedescription of the number of counts related to the violation. The usermay link Investigation Summary Report Subject Violation Element(s) 4450from Violation Elements of FIG. 45 for the selected Violation when anInvestigation Summary Report Subject Violation is created.

Referring to FIG. 45 , an investigation summary report subject violationelements may be determined based upon an investigation summary reportsubject violation elements table 4500. The application may define anElement Number 4510, a Description 4520, and a Can Modify 4530. TheElement Number 4510 and Description 4520 are defined from the ViolationElement. The Can Modify 4530 defines if the end user can modify theproperties of Investigation Summary Report Subject Violation Element.

Referring to FIG. 47 , an investigation summary report sectionattachment may be determined based upon an investigation summary reportsection attachment table 4700. The application may define a name 4710,an order 4720, a description 4730, and a hide 4740. The user may includelinks to a document 4750 and investigation summary report attachmenttype 4760.

Linked Report

The user can create a PDF Linked Report from an investigation summaryreport (generally referred to as “report” for purposes ofidentification) that has Document Objects linked to the report. TheLinked Report will reference the linked Document Objects in the reportby the Document's Unique Document Number. The application will use thereport and create a PDF file that will be used to generate a LinkedReport. The application will attach the linked Document Objects to theend of the Linked Report. The application will create hyperlinks betweenthe Unique Document Number in the report to the attached Document at theend of the Linked Report. The Linked Report will generate a list ofDocument Objects and attach that list the Linked Report. The LinkedReport will apply an optional “stamp” of the Unique Document Number toeach attached Document Object.

Litigation Introduction

Although this narrative includes description on how a criminalinvestigation transitions from the investigative stage to the litigationstage, the civil process is quite similar and the application aidescivil investigations and civil litigation as well as criminalinvestigations.

The system may be utilized to manage investigations from the very firstlead to the time the investigation works through the investigative andlitigation stages. The following steps of the litigation stage arehighlighted in this report for purposes of illustration:

-   -   Charging    -   Discovery    -   Plea Process (Resolution)    -   Trial    -   Sentencing    -   Appeal

During an investigation, Investigators gather information. MostInvestigators and prosecutors utilize the term evidence to describe allthe information gathered during the investigation, although much of theinformation gathered during an investigation will never be admitted asevidence in court or utilized by the grand jury during the indictmentprocess. The two generalized types of evidence are:

Direct evidence is evidence that supports a fact without an inference.Testimony of an eyewitness to a crime would be considered directevidence because the person actually saw the crime. Circumstantialevidence is testimony related to something that happened before or afterthe crime.

Circumstantial evidence is evidence or statements or information that isnot obtained by first hand experience but instead obtained indirectly.Circumstantial evidence can include what people's impressions about anevent that happened which they didn't see. For example, if you went tobed at night and there was no snow on the ground but you awoke to snow,while you didn't actually see it snowing, you assume that it snowedwhile you slept.

Once the investigator has completed their investigation, they considerrecommending the case for prosecution. Many federal agencies either worka case administratively with the use of agency in-house legal counseland administratively with legal demands, for records and evidence, suchas a summons or other administrative legal demand.

Often times agents will work a case through a grand jury (federal orstate). A prosecutor or attorney will be assigned and the processincludes the use of grand jury subpoenas for records or evidence. Also,cases might start as an administrative investigation and transition to agrand jury investigation during the investigative portion of the case.

Whether an investigation is worked administratively or through a grandjury, the agent(s) will consider recommending charges via a formalreport at the conclusion of the investigative. This report willsummarize the evidence gathered throughout the investigation and willsummarize the violation(s), the target(s) associated with eachviolation, and the evidence that supports the elements of eachviolation.

Also, the final report could recommend forfeiture of certain assetstraced to the proceeds generated by the criminal activity. Forfeiture ata state or local level is governed by local rules and statutes and candiffer from state to state. The federal government may bring two typesof asset forfeiture proceedings; civil or criminal. There are alsoadministrative forfeiture actions which are a type of civil action.

Federal civil forfeiture proceedings are actions brought directlyagainst specific types of properties such as boats, airplanes, parcelsof real estate, stores, factories, inventory, or any type of real orpersonal property. The actions are entitled “The United States ofAmerica v. One Parcel of Real Property Located at 23 Hall Rd, Shrine,Tenn. . . . ” or some similar name. To prevail in such an action, ingeneral, the government may show probable cause that the propertyfacilitated or was the proceed of certain unlawful activity. To prevailagainst the government, the owner of the property, or a claimant, maycontest the government's showing of probable cause. The Government'sburden of proof to forfeit property is a preponderance of the evidence.

Administrative forfeiture proceedings are a type of civil forfeitureinitiated and conducted by law enforcement agencies. Law enforcementagencies have great autonomy in handling administrative forfeitures upuntil the time that the administrative forfeiture is contested, and sentto a U.S. Attorney for prosecution.

In criminal forfeiture proceedings, the other type of federal assetforfeiture procedure, forfeiture is sought as part of a criminalproceeding against a particular person. Criminal forfeiture proceedingsare directly connected to a pending criminal prosecution, unlike afederal civil forfeiture action

Charging

After the prosecutor reviews the information and evidence presented bythe investigators, he decides whether to present the case to the grandjury. When a person is indicted, he is given formal notice that it isbelieved by the grand jury that he committed a crime. The indictmentcontains the basic information that informs the person of the chargesagainst him.

For potential felony charges, a prosecutor will present the evidence toan impartial group of citizens called a grand jury. The proceedings andstatements made before a grand jury are sealed. Witnesses may be calledto testify, evidence is shown to the grand jury, and an outline of thecase is presented to the grand jury members. The grand jury listens tothe prosecutor and witnesses, and then votes in secret on whether theybelieve that enough evidence exists to charge the person with a crime.If the grand jury decides that based on the evidence, there is probablecause to believe that the individual committed the crime, they will beindicted (a True Bill). The grand jury is a constitutional requirementfor certain types of crimes.

Grand juries are made up of approximately 16-23 members. Theirproceedings can only be attended by specific persons. For example,witnesses are not allowed to have an attorney present. At least twelvejurors must concur in order to issue an indictment. The Constitution hasbeen interpreted, by the Supreme Court, to mean that only the federalgovernment is required to use grand juries for all felony crimes. Afterthe defendant is charged, he can either hire a defense attorney; one canbe appointed if they are indigent. The defense attorney assists inunderstanding the facts of the case and law and represents the defendantjust as the prosecutor will represent the Government.

Court Activity

Referring to FIG. 75 , court activity may be included within a courtactivity table 7500. Within the Investigation, the user can create aCourt Activity. The user can define a Scheduled Date 7510 and a DateOccurred 7520. The user can link to a Court Activity Type 7530, aTestifying Witness(es) 7540, a Court Activity Participant 7550, a CourtDecision 7560, a court venue 7570, and a Court Activity Attachment 7580.For example, the Court Activity Type 7530 could be an Indictment,Information or Complaint and the Court Activity Participant 7550 couldbe the Judge, Witness or Attorney. The Court Decision 7560 could beDropped, Dismissed with Prejudice, Dismissed without Prejudice, Guilty,Not Guilty, Hung Jury, or Mistrial.

Referring to FIG. 78 , the court venue may be included within a courtvenue table 7800. The Court Venue 7570 is where the case is beingprosecuted. The user can define a Description 7810 and a state (e.g.,Location) 7820. For example, the Description could be the MarylandCircuit Court and Location could be Rockville, Md.

Referring to FIG. 29 , the charged entity for the court venue may beincluded within a charged entity table 7900. The changed entity mayinclude a link to a Person/Business 7910, a Charged Entity Violation(s)7920, and a Court Activity Attachment 7930.

The venue is either where the crime was committed or the location wherethe trial is held. Federal cases are tried in a United States DistrictCourt. There are 94 district courts in the United States including theDistrict of Columbia and territories. Many states have more than onedistrict court so the venue will depend on where you live in the state.Within each district, there may be several courthouse locations. Theagency or company will create all the Court Venues where they areprosecuting cases so the end users can select them for use in theapplication.

Within the Investigation, the user can create an Investigative SummaryReport. It can be selected from a defined Agency Form that has theSummary Report Section Title Defaults defined. The system will create anInvestigation Form based on the Agency Form and then Summary ReportSection Titles are generated from the Summary Report Section TitleDefaults. The user can define the Title, Theory and the Table ofContents (if the report has one). The Title is the name of the report sothe end user can organize their investigation if they have severalInvestigative Summary Reports in a single investigation. The Theory is asummary narrative of the theory of the investigation. The user can linkadditional Investigation Summary Report Section Title(s) to theInvestigative Summary Report. This will allow the user to create customsections and link to each Investigative Summary Report to account forthe uniqueness of each investigation. The user can create InvestigationSummary Report Attachment(s) and link to each Investigative SummaryReport. This attachment can be an Investigation Document or SummaryObject. This allows the user to add additional information to theInvestigative Summary Report.

The user can create Investigation Summary Report Section Title(s) anddefine Order, Title, Required, Cited Section, Hide, Display in Toc, andSubject Section. The Order is the location this section appears in thedefined report. The Title is the text that appears in the defaultreport. The Required is if the section may have Facts linked to thesection. The Hide determines if the section is visible in the endreport. The Cited Section determines if the linked Facts may haveEvidence linked to prove the Facts. The Display in TOC (Table ofContents) determines if this section is displayed in the TOC. TheSubject Section determines if the section is then further broken down bythe subjects defined in the report. The user can create and linkInvestigation Summary Report Section Title(s) to other InvestigationSummary Report Section Titles.

Once the Investigative Summary Report is created the user can link (orcreate an) Investigation Summary Report Subject(s). The InvestigationSummary Report Subject is the subject (Person or Business underInvestigation) of the summary report. The user can link a Person orBusiness as the subject. The user can link the related InvestigationNumber(s). The user can define Hide, Order, Venue Description. The Hideis when the user does not want to show this Subject in the report. Thiscan occur when working a case and not knowing until the end that thereis not enough evidence to prove the violation(s). Rather than deletingthe subject and losing all the facts identified, the user can just hidethem in the final report. The Order (if there are multiple subjects) isthe order the subject appears in the report. The Venue Description isthe description of the location of the venue. Venue is the judicialdistrict in which a crime occurred and where a trial can be held. Theuser can link Investigation Summary Report Subject Violation(s) whichare the Violation(s) the subject is being investigated.

The user can define Hide, Order, Date, and Count for InvestigationSummary Report Subject Violation(s). The Hide is when the user does notwant to show this specific violation in the report. This can occur whenworking a case and not knowing until the end that there is not enoughevidence to prove the violation. Rather than deleting the violation andlosing all the facts identified, the user can just hide them in thefinal report. The Order (if there are multiple violations) is the orderthe violation appears with in the subject. The Date is the date (oryear) description the violation occurred. The Count is the descriptionof the number of counts related to the violation. Investigation SummaryReport Subject Violation Element(s) are created from for the user fromViolation Elements for the selected Violation when an InvestigationSummary Report Subject Violation is created. The application will defineElement Number, Description, and Can Modify. The Element Number andDescription are defined from the Violation Element. The Can Modifydefines if the end user can modify the properties of InvestigationSummary Report Subject Violation Element.

Referring to FIG. 76 , the testifying witness may be included within atestifying witness table 7600. The user can define an Order 7610, aScheduled Date 7620, a Date Occurred 7630, an Anticipated Length ofTestimony 7640, and an Expert Witness 7650. The user can link to a CourtEvidence 7670, which is the evidence to present in court, a CourtEvidence 7670, which is the evidence that was presented in court, aTestifying Witness Question 7680, which are the Direct Questions askedof the witness, a Testifying Witness Question 7685, which are theanticipated Cross Examination Questions, a Testifying Witness Question7690, which are the Re-Direct Questions, and a Court Activity Attachment7695.

Referring to FIG. 77 , court activity type may be included within acourt activity type table 7700. The user can define the Court ActivityType as a Description 7710.

Referring to FIG. 84 , a court activity attachment type for the courtactivity type may be included within a court activity attachment typetable 8400. The Court Activity Attachment Type includes a description8410 that could be an Arrest Warrant, Transcripts, Filed ChargingDocuments Decision, Plea Offer, Signed Plea Offer, Filed Plea Offer,Motion Document, Briefs, Affidavit, Ruling, Jury Instructions, etc.

Referring to FIG. 83 , a court activity attachment for the courtactivity type may be included within a court activity attachment table8300. The user can define the Court Activity Attachment as a Description8310. The user can link to a Court Activity Attachment Type 8320 and aDocument 8330.

The user can link the Charged Entity to the Person/Business 7910, theCharged Entity Violation(s) 7920, and the Court Activity Attachment7930.

Referring to FIG. 81 , a charged entity violation may be included withina charged entity violation table 8100. The Charged Entity Violation canbe linked to a Violation 8110 and a Charged Entity Element(s) 8120.

Referring to FIG. 82 , a charged entity element may be included within acharged entity element table 8200. The Charged Entity Element can belinked to a Violation Element 8210 and a Charged Entity Elements(s)8220.

Referring to FIG. 80 , a court decision trial may be included within acourt decision trial table 8200. The user can include a description8010. The user can link to a court activity type 8020, such as Dropped,Dismissed with Prejudice, Dismissed without Prejudice,Guilty/Non-Guilty, Hung, and Mistrial.

Referring to FIG. 85 , a court evidence may be included within a courtdevice table 8500. The user can define the Court Evidence as a UniqueIdentification Number 8510 and an Authenticated On 8520 date. The UniqueIdentification Number 8510 is a unique number assigned by the system andthe Authenticated On 8520 date is the date it has been authenticated, arequirement for court. The Court Evidence can link to an Evidence 8530,a Charged Entity Violation Element 8540, a Testifying Witness 8550, anda Testifying Witness Question(s) 8560.

Referring to FIG. 86 , a charging presentation which is inherited fromcourt activity may be included within a charging presentation table8600. The user can link to a Charging Presentation to Type 8610, aCharged Entity 8620, and a charging presentation 8630.

Referring to FIG. 87 , a charging presentation to type may be includedwithin a charging presentation to type table 8700. The user can definethe Charging Presentation to Type as a Description 8710. For example,the type could be the Grand Jury or a Judge.

Referring to FIG. 88 , a charged entity charging presentation which isinherited from charged entity may be included within a charged entitycharging presentation table 8800. The user can define the Charged EntityCharging Presentation as an Arrested Prior 8810 and an Arrest WarrantIssued 8820.

Either the same day or the day after a defendant is arrested andcharged, he/she is brought before a magistrate judge for an initialhearing on the case. At that time, the defendant learns more about theirrights and the charges against them. Arrangements are made for them tohave an attorney, and the judge decides if the defendant will releaseduntil the trial or held in prison until the trial. In many cases, ifthey meet the requirements for bail, the defendant will be released fromprison before a trial. Before the judge makes the decision on whether togrant bail, he/she may hold a hearing to learn facts about the defendantto determine if they should be released. If the defendant cannot pay themoney (post bail), the judge may order the defendant remanded into thecustody of the U.S. Marshals pending trial. The defendant will also beasked to plead guilty or not guilty to the charges.

Referring to FIG. 69 , an initial appearance which is inherited fromcourt activity may be included within an initial appearance table 6900.The Initial Appearance may link to the Charged Entity InitialAppearance(s) 6910.

Referring to FIG. 70 , a Charged Entity Initial Appearance which isinherited from charged entity may be included within a Charged EntityInitial Appearance table 7000. The user can create a Charged EntityInitial Appearance within the Investigation. The user can link it to aDemand Appearance Type 7010, an Identity Hearing 7020, and a DetentionHearing 7030.

Referring to FIG. 71 , a demand appearance type which is inherited fromarrest warrant/summons to appear/extradition may be included within ademand appearance type table 7100. The user can define the DemandAppearance Type as a Description 7110. For example, it could be anArrest Warrant, Summons to Appear, or Extradition.

Referring to FIG. 72 , an identity hearing which is inherited from courtactivity may be included within an identity hearing table 7200. The usercan define the Identity Hearing as Proceed as Named 7210.

Referring to FIG. 73 , a detention hearing which is inherited from courtactivity may be included within a detention hearing table 7300. The userdefine a granted 7310, a release amount 7320, a posted amount 7330, anda date posted 7340. The user can link to a Detention Release Type 7350.

Referring to FIG. 74 , a detention release type which is inherited frombail/bond/detained/release won recognizance may be included within adetention release type table 7400. The user can define the DetentionRelease Type as a Description 7410. For example, it could be Bail, Bond,Detained or Released own recognizance.

Although the investigators gather a lot of evidence that will not beused to charge the case, the discovery process rules obligate thegovernment to make the evidence available to the defense. Before aprosecutor begins a trial, the prosecutor has to become familiar withthe facts of the crime, study the evidence, talk to the witnesses,anticipate problems that could arise during trial, and develop a trialstrategy. They may even practice statement they may make during thetrial.

Meanwhile, the defense attorney is also preparing for trial. They willtalk to witnesses who could be called to testify in court.

A witness is a person who saw or heard the crime take place or may haveimportant information about the crime or the defendant. Both the defenseand the prosecutor can call witnesses to testify or tell what they know.What the witness actually says in court is called testimony. In order totestify, witnesses will take an oath to agree or affirm to tell thetruth.

There are three types of witnesses:

A lay witness is a person who watched certain events and describes whathe/she saw. This is the most common type of witness.

An expert witness is a specialist who is educated in a certain area andwill testify with respect to their specialty area only.

A character witness is someone who knew the defendant, the victim, orother people involved in the case. Character witnesses usually don'thave first-hand knowledge of the crime but they can testify to thepersonality of the defendant or victim, or what type of person thedefendant or victim was before the crime. Family, friends, neighbors andclergy are often used as character witnesses.

To determine which of the witnesses to call to testify and trial and toavoid surprises, the prosecutor talks to each witness to find out whatthey may say during trial. These conversations will help the prosecutordecide whom to call as a witness in court. Another important part oftrial preparation is reading every report written about the case. Theprosecutor determines the facts of the case based on information in thereports and the information from witnesses.

The discovery process is when prosecutors provide the defendant copiesof materials and evidence that the prosecution intends to use at trial.The process continues from the time the case begins to the time oftrial. A prosecutor has an obligation to provide the defendant documentsand other information which may reflect upon the case. A prosecutor canbe fined or sanctioned by the court if they fail to do so. Further, theprosecutor is required to provide the defense with evidence that mayhurt the prosecutor's case because it may show the defendant'sinnocence. It is called exculpatory evidence. If the prosecution doesnot provide it to the defense, it may require a new trial.

Referring to FIG. 89 , an export may be included within an export table8900. The user can define the Description 8910, a reason description8920, and a bates number prefix 8930. That is the Description of theDiscovery Export such as the subject name “Shamus Smith.” The systemcaptures the Create Date 8940 which is the date the Discovery Export iscreated. There could many requests for an Export. The user can link toan investigation 8950, an export reason 8960, and an export headers9070. The Export Reason 8960 is selected from a predefined list. If theExport Reason 8960 requires the user to define a description, the usercan define a the Reason Description 8920 as a text entry. As an example,the Export Reason 8960 could be sharing of evidence with another agencyand the Reason Description 8920 could be shared with “FBI”.

The user can define which Export Headers will be displayed on theExport. For example, the Export Header, a text entry, could be “FirstProduction” defining the first group of records to Export. The secondExport Header could be the group of evidences chosen to be exported. Theuser can define the Bates Number Prefix 8930. The Bates number willdistinguish between the same exact image that could have been submittedas evidence multiple times by multiple witnesses. The number is anassigned alphanumeric number prefixing each bates numbered image. Forexample, the subject of the investigation could be Shamus J. Smith. TheBates Number Prefix could be “SJS”.

Referring to FIG. 90 , an export reason may be included within an exportreason table 9000. The agency/company can define the Export Reason as adescription 9010. For example, the reason could be to share with anotheragency or at the request of the defense attorney. The user can definethe Export Reason description from a predefined list. The agency/companycan define the Description. The agency/company can define that theevidence will be Allow Not Discoverable 9020. The agency/company candefine if the Evidence Item is Allow Grand Jury 9030 material. Theagency/company can set if a Required Reason Description 9040 isrequired.

Referring to FIG. 91 , an export header may be included within an exportheader table 9100. The system will capture the Export Header. The usercan define the Actual Output Device 9110 from a predefined list. Forexample, it could be the “C Drive”. The user can define the ExportOption 9120. For example, evidence properties and file formats. Thesystem can capture a Create Date 9130. The system can capture a UpdateDate 9140. The user can define the Description 9150. The user can linkto an Export 9160, an Export Status 9165, an Export Method 9170, anExport Output Type 9175, an User 9180, an Export Header Shared to Link9185, and an Export Objects 9190. The Export Header Shared to Link isthe Entity in the investigation in which the Export data is beingshared. The system can capture the Export Objects 9190.

Referring to FIG. 92 , an export status may be included within an exportstatus table 9200. The agency/company can create Export Status. The usercan define a Description 9210.

Referring to FIG. 93 , an export method may be included within an exportmethod table 9300. The agency/company can create Export Method. Themethod is the medium the data is being exported to such as a CD/DVD or aprintout. The user can define a Description 9310.

Referring to FIG. 94 , an export output type may be included within anexport output type table 9400. The agency/company can create ExportOutput Type. The user can define the Description 9410.

Referring to FIG. 95 , an export object may be included within an exportobject table 9500. The system will define an Export Object. The user candefine an Export Key Number 9510 (an integer), a Size 9520 (indecimals), a Type 9530 (text entry), a Path 9540 (text entry), and aDate Exported 9550, which is system captured. The Export Object can linkto a Digital File 9560 and a Document Page 9570.

Referring to FIG. 96 , an export header shared to link may be includedwithin an export header shared to link table 9600. The user can link tothe Person or User 9610 in the investigation in which the Export data isbeing shared.

Referring to FIG. 97 , a plea offer may be included within a plea offertable 9700. The plea offer table may be linked to a charged entity pleaoffer 9710. When the government has a strong case, the government mayoffer the defendant a plea bargain to avoid trial and possibly reducethe defendant's exposure to a lengthier sentence. A defendant may onlyplead guilty if they committed the crime and admits to doing so in opencourt before the judge at a Change of Plea hearing. The government willdraft a Plea Agreement that may be signed by the defendant prior to theChange of Plea hearing. When the defendant admits to the crime, theyagree they are guilty and they agree that they may be “sentenced” by thejudge presiding over the court. The judge is the only authorized personto impose a sentence. If a defendant pleads guilty, there is no trial.The next step is to prepare for a sentencing hearing.

Referring to FIG. 98 , a charge entity plea offer may be included withina charge entity plea offer table 9800. Within an Investigation, a usercan create a Charged Entity Plea Offer. This is what the government hasoffered the defendant as a plea agreement and the defendant can acceptor reject it. The judge presiding over the case can also reject the pleaagreement, even after it has been accepted by the defendant and theattorneys.

The user can define the Sentence Recommendation 9810. It is what isbeing recommended by the prosecution such as probation or a number orrange of numbers for an incarceration term. The user can define theRestitution Recommendation Amount 9820. This is the amount the defendantis responsible for paying based on his criminal activities. The user candefine the Sentence Accepted 9830. This describes if the defendantaccepted/agreed to the offer or rejected it. If the offer is acceptedand the Plea Agreement is signed, the Sentence Accepted should be thesame as the Sentence Recommendation. The user can define the RestitutionAccepted Amount 9840. This describes if the defendant agreed to theRestitution Accepted Amount or rejected it. If accepted, is should bethe same as the Restitution Recommendation Amount. If there is a counteroffer causing a new plea offer, the user would create another ChargedEntity Plea Offer. The user can link to a Plea Offer Resolution 9850.The user can link to a Sentencing 9860.

Referring to FIG. 99 , a plea offer resolution may be included within aplea offer resolution table 9900. The Plea Offer Resolution is adescription 9910 that is the outcome of the offer and is from apredefined list. For example, the resolution could be Accepted, ChargedEntity Rejected, Withdrawn, Judge Rejected.

One of the last steps a prosecutor takes before trial is to respond toor file motions. A motion is an application to the court made by theprosecutor or defense attorney. Motions request that the court make adecision on a certain issue before the trial begins. The motion canaffect the trial defendants, evidence, testimony or courtroom. Onlyjudges decide the outcome of motions.

Common pre-trial motions include the following. 1). a Motion to Dismiss:An attempt to get the judge to dismiss the case or the charge. This maybe done if the alleged facts do not meet the elements of a crime orthere is not enough evidence. 2). a Motion to Suppress: An attempt tokeep certain evidence or statements from being introduced as evidence.For example, if police conducted a search without probable cause, aviolation of the Fourth Amendment, it may be possible to suppress theevidence found as a result of that search. 3). a Motion for Change ofVenue: An attempt to have the venue moved. It may be made for variousreasons including pre-trial publicity. For example, if the case has beenhighly publicized by the local news, it may be necessary to move thetrial to another venue so the defendant's may have an impartial jury.

Referring to FIG. 100 , a motion may be included within a motion table10000. In the Investigation, a user can create a Motion. The user candefine if the motion is Joint 10010. This will be a Boolean value. Forexample, when there is more than one defendant in an investigation andeach defendant has their own attorney, the attorneys may file motionstogether or jointly. The user can define the Date Filed 10020. The usercan define a Response Date 10030. This is the date the response to theMotion is due and can be set up as a Due Date in an Action Item. Theuser can define the Hearing Date 10040 for the Motion. The Motion can belinked to a Court Activity Participant(s) 10050, a Motion Ruling Type10060, a Related Motions 10700, a Testifying Witness 10080, and a MotionHearing 10090.

Referring to FIG. 101 , a motion stage type may be included within amotion stage type table 10100. The user can define the Motion StageType, which is a description 10110 of the type of Motion filed at aparticular stage of the litigation process. For example, the stage couldbe Pre-Trial, Trial, or Post-Trial.

Referring to FIG. 102 , a motion type may be included within a motiontype table 10200. The user can define the Motion Type, which is adescription 10210 of the type of motion filed. For example, the attorneycan file a motion to dismiss a case, suppress evidence or change thevenue.

Referring to FIG. 103 , a motion ruling type may be included within amotion ruling type table 10300. The user can define the Motion RulingType, which is a description 10310 of the type of ruling the judge madeon the Motion. For example, the judge could grant the motion, reject themotion or grant part of the motion

Referring to FIG. 104 , a motion hearing may be included within a motionhearing table 10400. The user can define the Motion Hearing, which is amotion 10410 of the court activity. A court activity can be a hearing,trial, change of plea, etc.

Within the Investigation, the user can create the Court Activity table7500. The user will define the Scheduled Date 7510 and the Date Occurred7520. The user can link to the Court Activity Type 7530, the Court Venue7570, the Testifying Witness(es) 7540, the Court Activity Participant7580, the Court Decision 7560, and the Court Activity Attachment 7550.The Court Activity Type 7530 could be an Indictment, Information orComplaint. The Court Activity Participant 7580 could be the Judge,Witness or Attorney. The Court Decision 7560 could be Dropped, Dismissedwith Prejudice, Dismissed without Prejudice, Guilty, Not Guilty, HungJury or Mistrial. The user can link to one or more Motion(s) related tothe court activity/hearing.

After many weeks or months of preparation, the prosecutor is ready forthe trial, the most important part of their job. The trial is astructured process where the facts of a case are presented to a jury,and they decide if the defendant is guilty or not guilty of the charge.recommended. During trial, the prosecutor uses witnesses and evidence toprove to the jury that the defendant committed the crime(s). Thedefendant, represented by an attorney or representing themselves as anattorney, also tells their side of the story using witnesses andevidence. In a jury trial, the judge is the impartial person in chargeof the trial. He/she decides what evidence can be shown to the jury.Similar to a referee in a ball game, a judge is there to make sure theentire process is played fairly.

Referring to FIG. 105 , a trial may be included within a trial table10500. Within an Investigation, the user can create a Trial. The usercan link to a Trial Statement(s) 10510, a Trial Jury(s) 10520, a TrialObjection(s) 10530, and a Charged Entity Trial(s) 10540. The TrialObjection are objections made during the trial. The user can link to theTrial Statements 10510, which are the statements made by the prosecutionand defense during the trial.

Referring to FIG. 107 , a trial statement may be included within a trialstatement table 10700. The user can define the Trial Statement Order10710, which is the order in which the trial statement is made. The usercan link to a Trial Statement Type 10720 and a facts 10730, which arethe facts of the investigation. For example, it could be opening orclosing.

Referring to FIG. 106 , a charged entity trial may be included within acharge entity trial table 10600. The user can define the Charged EntityTrial, which defines if the subject is In Custody 10610. For example,the subject could be out on release or a fugitive.

Referring to FIG. 108 , a charged entity trial may be included within acharge entity trial table 10800. At the beginning of trial, a prosecutorand defense attorney select jurors. Jurors are selected to listen to thefacts of the case and to determine if the defendant committed the crime.Twelve jurors are selected randomly from the jury pool (also called the“venire”). The potential jurors are compiled from voter registrationrecords of people living in the Federal district. When selecting thejury, the prosecutor and defense attorney may not discriminate againstany group of people. A jury should represent all types of people, races,and cultures. Both lawyers are allowed to ask questions about theirpotential biases and may excuse jurors from service (also called VoirDire). A limited number of “Peremptory challenges” allow each side toexcuse certain potential jurors without providing a reason. Within theInvestigation, the user can create a Trial Jury. The user can link theTrial Jury to a Jurors 10810, a Jury Selection(s) 10820, a JuryQuestions(s) 10830, and a Charged Entity Trial(s) 10840.

Referring to FIG. 109 , a jury selection may be included within a juryselection table 10900. The user can define the Number of PeremptoryChallenges 10910 during the Jury Selection. The Number of PeremptoryChallenges can link to a Juror 10920 and a Questionnaire 10930.

Referring to FIG. 110 , a trial jury questionnaire may be includedwithin a trial jury questionnaire table 11000. The trial juryquestionnaire may include question(s) 11010.

Referring to FIG. 111 , a trial jury questionnaire question may beincluded within a trial jury questionnaire question table 11100. TheTrial Jury Questionnaire Question can be defined by a Number 11110, thenumber assigned to the juror, and a Question 11120, what the jurorwas/will be asked.

Referring to FIG. 112 , a juror may be included within a juror table11200. The user can define the Number 11210 assigned to the Juror. TheJuror can link to a Juror Questionnaire Answer(s) 11220, a JurorChallenge(s) 11230, a Juror Status 11240, and a Juror Verdict 1250.

Referring to FIG. 113 , a juror questionnaire answer may be includedwithin a juror questionnaire answer table 11300. The user can define anAnswer(s) 11310, which is the Juror's answer to the question. The JurorQuestionnaire Answer can be linked to a Juror Reason to Excuse(s) 11320and a Note(s) 11330.

Referring to FIG. 114 , a juror reason to excuse may be included withina juror reason to excuse table 11400. The user can define the JurorReason to Excuse as a Description 11410.

Referring to FIG. 115 , a juror challenge may be included within a jurorchallenge table 11500. The user can link to a court activity participant11510, a juror challenge type 11520, and a juror challenge ruling 11530.

Referring to FIG. 116 , a juror challenge type may be included within ajuror challenge type table 11600. The juror challenge type can be adescription 11610.

Referring to FIG. 117 , a juror challenge ruling may be included withina juror challenge ruling table 11700. The user can define the JurorChallenge Ruling as a Description 11710. For example, it could begranted or denied.

Referring to FIG. 118 , a juror status may be included within a jurorstatus table 11800. The user can define the Juror Status as aDescription 11810. For example, the juror could be Pool, Excused,Selected, Alternate or Forman.

Referring to FIG. 119 , a juror verdict may be included within a jurorverdict table 11900. The user can define the Juror Verdict as aDescription 11910. For example, it could guilty or not guilty.

Referring to FIG. 120 , a jury question may be included within a juryquestion table 12000. The user can define the Jury Question as aDescription 12010. The Jury Question can link to a Court Evidence 12020,an Entities 12030, a Charged Entity Violation 12040, and a ChargedEntity Violation Element 12050.

Opening statements allow the prosecutor and the defense attorney tobriefly tell their account of the events of the crime. These statementsusually are short and do not involve witnesses or evidence. Since, theGovernment has the burden of proving that the defendant committed thecrime, their opening statement is first.

Following opening statements, the prosecutor begins direct examinationof their first witness. This is the prosecutor's initial step inattempting to prove the case. It can last from a few minutes to severaldays. During direct examination, the prosecutor can introduce evidencefrom the crime scene. Following the prosecutor's examination of awitness, the defense attorney has an opportunity to cross examine or askquestions to the same witness. The purpose of cross examination is tocreate doubt as to the credibility of the witness. After the defenseattorney cross examines the witness, on redirect examination, theprosecutor asks the witness final questions to clarify any confusingtestimony. Once all three processes are complete, the prosecutor reststheir case. After the prosecutor rests, no more witnesses can be calledto the stand or evidence introduced by the government.

After the Government rests, the defense has the opportunity to presentwitnesses and evidence to the jury. The defense also has the option ofnot having the defendant testify because there is no burden upon thedefendant to prove that he is innocent. It is the government'sresponsibility to prove the defendant committed the crime as detailed inthe indictment. If the defendant does not testify, it may not beconsidered by the jury as proof that the defendant committed the crime.The defense may also waive his case. Also, if the defense does not puton any evidence, the jury cannot assume that the defendant is guiltysimply because they did not put on a defense. The defense will usuallypresent its own version of the case, however, the decision to put on adefense is solely up to the defendant and the defense attorney.

During direct or cross examination, either attorney can make anobjection a piece of evidence or a question to the judge.

Common objections include some of the following. 1). Hearsay: astatement by a witness who did not see or hear the incident in questionbut learned about it through secondhand information such as another'sstatement such as a new article. 2). Relevance: Testimony and evidencepresented at trial may be relevant to the case.

The judge decides the outcome of an objection, sometimes after allowingattorneys on both sides to comment before making a ruling. The judgeeither overrules” the objection and allows the action to continue or“sustains” the objection so that the action stops.

Referring to FIG. 121 , trial objections may be included within a trialobjections table 12100. The trial objections can include a description12110 and an objection to answer 12120. The Trial Objections will linkto a Trial Objection Type 12130, a Trial Objection Ruling 12140, aWitness Question 12150, a Court Evidence(s) 12160, and a TestifyingWitness 12170.

Referring to FIG. 122 , a trial objection type may be included within atrial objection type table 12200. The user can define the TrialObjection Type as a Description 12210. For example, it could be Hearsay,Relevance, Leading, Asked and Answered.

Referring to FIG. 123 , a trial objection ruling may be included withina trial objection ruling table 12300. The user can define the TrialObjection Ruling as a Description 12310. For example, it could besustained or overruled.

After the defense's direct testimony and cross examination by theprosecutor of all the witnesses, the defense rests their case, and theprosecutor and defense attorney prepare for closing arguments. Closingarguments are the last opportunity for the prosecutor and the defenseattorney to talk to the jury. The arguments allow both attorneys tosummarize the testimony and evidence, and ask the jury to return averdict of guilty or not guilty.

Following the closing arguments, the judge “charges the jury,” orinforms them of the appropriate law and of what they may do and considerto reach a verdict.

After being charged, the jury goes into deliberation, the process ofdeciding whether a defendant is guilty or not guilty. During thisprocess, no one associated with the trial can contact the jury withoutthe judges and lawyers. If there is a question by the jury regarding theapplicable law, they may write a note to the judge, which the judge willread in court with all parties present. In federal criminal trials, thejury may reach a unanimous decision in order to convict the defendant.After they reach an agreement on a verdict, they notify the judge, thelawyers, and the defendant in open court and everyone is present incourt for the reading of the verdict. If the defendant is found notguilty, they are usually free to go home.

If the defendant is convicted, there are several motions that can befiled after the trial is over. Common post-trial motions include thefollowing. 1) Motion for a New Trial. The court can vacate the judgmentand allow for a new trial. 2). Motion for Judgment of Acquittal. TheCourt may set aside the jury's verdict and allow the defendant to gofree. 3). Motion to Vacate, Set Aside, or Correct a Sentence. It isuseful for the purpose of correcting a clerical error in the sentence.

Within the Investigation, the user can create a Motion. The user candefine if the motion is Joint. This will be a Boolean value. Forexample, when there is more than one defendant in an investigation andeach defendant has their own attorney, the attorneys may file motionstogether or jointly. The user can define the Date Filed. The user candefine a Response Date. This is the date the response to the Motion isdue and can be set up as a Due Date in an Action Item. The user candefine the Hearing Date for the Motion. The Motion can be linked to theMotion Stage Type, Motion Type, Court Activity Participant(s), MotionRuling Type, Related Motions, Testifying Witness, and Motion Hearing.

After conviction, the defendant returns to court to be sentenced. Thejudge receives guidance and assistance from several sources in order tosentence a defendant. Congress established minimum and maximumpunishments for many crimes which the judge uses as guide to sentencethe defendant. The judge will consider presentence reports andstatements from the victims as well as the defendant, friends, familyand supporters, and lawyers. The judge may consider a variety ofmitigating or aggravating factors. The judge has great latitude toconsider many sentencing factors both in support of the defendant andthe moving party.

Referring to FIG. 124 , a sentencing ruling may be included within asentencing table 12400. Within the Investigation, the user will createSentencing. The user can link Sentencing to the Charged EntitySentencing 12410.

Referring to FIG. 125 , a charged entity sentencing may be includedwithin a charged entity sentencing table 12500. The user can define aSentence Recommendation 12510, a Restitution Recommendation Amount12520, a Sentence Accepted 12530, and a Restitution Accepted Amount12540.

The Trial Appeal is the process in which cases are reviewed because theparties request a formal change to the official decision. Even after adefendant is found guilty, he can appeal to the Circuit Court if hebelieves the sentence was too harsh or they were wrongly convicted. ATrial Appeal is an opportunity for the defendant to try to raisespecific errors that might have occurred at trial. It is not anothertrial. Appeals can be complicated and sometimes result in the case goingback to the trial court. The Court of Appeals may decide a sentence maybe altered, a conviction may be reversed or a new trial may be ordered.Even after an appeal is decided by a circuit court judge, a defendantcan try to appeal that decision to the United States Supreme Court inWashington, D.C. The United States Supreme Court, the highest appellatecourt in the American court system, makes the final decision concerninga defendant's appeal. The Court only takes a small number of cases eachyear and is not required to hear an appeal in every case.

Referring to FIG. 126 , a trial appeal may be included within a trialappeal table 12600. The Trial Appeal can link to a Trial Appeal Type12610, a Charged Entity Trial 12620, and a Charged Entity Sentencing12630.

Referring to FIG. 127 , a trial appeal type may be included within atrial appeal type table 12700. The user can define the Trial Appeal Typeas a Description 12710. For example, it could be a Trial, Verdict orSentence.

For each type of challenge, how many challenges are granted, how manyare used, and how many are left. The same query for the opposing side isalso needed.

A Maps functionality allows a user to view and interact with geo-locatedinvestigative information on a map (e.g. Google Maps or Open StreetMaps). Functionality could include, but isn't limited to:

-   -   GPS tracking data;    -   Geotagged multimedia files;    -   Manually-entered geographic coordinates;    -   GPS and geo-tagged overlays and comparisons;    -   Business Intelligence; and    -   Timeline Enhancements.

Referring to FIG. 129 , the system may include swim lanes. This wouldallow users to view multiple timelines stacked on top of each other.Scrolling along the timeline would be synced, so that a user couldcompare events during a given window of time, across two or moretimelines. Further functionality allows users to automatically highlightoverlaps or gaps in similar/related events.

The system may be used for any suitable environment, such as forexample, government agencies, government contracting, medical diagnosis,medical billing, education, and mixed reality systems. In the use ofmixed reality interaction (i.e., augmented reality and/or virtualreality) the system acts as a tool for helping users across markets.Many of the leading mixed reality headsets (e.g., HoloLens, Oculus Rift,Daqri, Meta One) contain forward-facing, high resolution cameras. Thisenables an investigator to record the details of a crime scene.Additionally, at least two of these headsets (HoloLens, Daqri) areequipped with sensors that allow the wearer to create a 3D map of aspace. The headset may also include a thermal headset, and audiorecording, and collaboration tools. Beyond headsets, there are severalstand-alone sensors, scanners, and other technology (e.g., LIDAR, 3Dscanners, 360 degree cameras, etc.) that may be used for crime scenerecording. Being equipped with high-resolution cameras, an investigatorcould quickly scan evidence directly into a database. Depending on thetype of evidence, the data can be saved as an image, and even runthrough our OCR engine to produce accompanying text.

As an investigator walks through a crime scene, the cameras and/orsensors can record videos and photos, along with a spatial map. Thisfunctionality is useful throughout all phases of an investigation,including jury playback.

During the crime scene investigation, evidence can be tagged immediatelyas it is observed. A mixed reality user interface, where a user canselect from a pre-set collection of evidence flags (e.g., weapons,paperwork, clothing, freeform, etc.) to pin into the crime scenewalkthrough.

As a general matter, the system may search based upon the OCR text forentities that are in the investigation project. The text that matchespreviously entered entities may be presented to the user (e.g., theunderlining of Clare Stevens illustrated in FIG. 10 ) so that the usermay efficiently add links between OCR'd evidence and create a linkbetween the entity and the evidence. The system may also search OCR textfor other entity first level properties (e.g., a person's socialsecurity number, a person's date of birth, a business' employeridentification number, a boat's name, etc.).

Referring to FIG. 130 , the user may search across the entire projectusing any keyword(s), phrase(s), title(s) or other properties of anobject(s). The system will return any object that contains the searchcriteria. The results of this search are filterable (e.g., facetedsearch) presented in a floating tab window.

Based upon the results of the search illustrated in FIG. 130 , the usermay dock the tab within the main user experience, navigate using thesearch breadcrumbs (e.g. All Projects>Stevens, Russel . . . etc.), usethe filters checkboxes on the left to reduce the search results, use thesearch results controls (e.g. Search Within, Sort By, etc.) to furtherrefine the search results, a user may click and drag results onto otherpanels (e.g., canvas, tables, etc.) and users can use the overflow menu(i.e. the vertical ellipsis on the right of the result's row) to openproperties and/or view any attachments.

Referring to FIG. 131 , another view is illustrated with a different setof filters selected.

Using the global search, the user may search across al OCR text within aproject. The search ability allows a user to search for a word or aphrase. These criteria may be in object properties, but they may also bein the OCR text. The system provides the users with the ability tofilter the OCR results. The search results may be presented to the userin a suitable manner which may include text snippets from the OCR textas illustrated in FIG. 132 .

Using the global search the user may search across all objects within aproject. The search functionality may allow users to specify the degreesof separation of a given object(s) and return results that satisfy thatcriteria.

Fuzzy Date Data Type

Referring to FIG. 133 , Fuzzy Dates can store full or less than completedates. Fuzzy Date can define any part of the date time properties:Month, Day, Year, Hour, Minute, Second, and Time Zone. Fuzzy Date candefine the approximation of the date as Before, On or Before, On, On orAbout, On or After, After, and Between. Fuzzy Dates are helpful when oneis unsure of a complete date. For example, if you do not know the daybut know that the date was after a known month and year.

Fuzzy Date Range

Referring to FIG. 134 , Fuzzy Date Range includes the ability to defineeither a single Fuzzy Date or a Fuzzy Date Range. A Fuzzy Date Rangeallows for a starting Fuzzy Date and an ending Fuzzy Date, by using theBetween option from the drop-down.

Money Data Type

Money data can store an amount, a defined type of currency, theconversion date and the number of decimal places to use for the amount.Money data can also store the multiple currencies to convert to moneydata into. The user can select which currency to view the money in. Theapplication will use the defined currency type, the conversion date andthe amount to convert to the amounts for all listed currencies toconvert.

Audio/Video Storage Viewing Editing

The platform provides for digital file storage including Document (PDF,Word, Excel®, etc.), Binary Data (computer software, ZIP files, etc.),Multimedia (Audio, Video, etc.) and other file formats. The clientapplication supports the import, storage, export and viewing/editing ofbinary data within a project. The Project Type configurator has theability to allow users to manage binary data on a Project Type byProject Type basis.

Audio and Video data is stored and managed within the platform. Thespecific storage mechanism employed is configurable and extensible.Several storage techniques for binary data may include:

-   -   (a) Within the default Data Storage subsystem In the same data        space, and using the same technology as normal object and        property data.    -   (b) In an alternate Data Storage subsystem. For example, the        configurator and/or administrator(s) may define an alternate        Data Storage subsystem to specifically store binary data. For        example, a relational database (such as MySQL, or SQLServer) may        be used for binary data storage while a different technology is        used for object storage.    -   (c) As separate files on a shared file storage system. The        configurator and/or administrator(s) may define an external (not        part of the Server architecture) storage location for binary        data. This will generally be a shared file server within an        organization.

The management of audio and video data also includes “Viewer” componentswithin the client application to provide the functionality. For videodata the functionality may include viewing video files, including videonavigation functionality (fast forward, reverse, pause, skip toposition, etc.), video editing capabilities (brightness, contrast, colorcorrection, etc., trimming, and splitting a single Video stream into twoor more video streams), ability to define “Bookmarks” in the Videostream (definition of a specific point in the video timeline), andability to define “Fragments” in the Video stream (defining beginningand ending points in the video timeline). For audio date thefunctionality may include playing audio files, including audionavigation functionality (fast forward, reverse, pause, skip toposition, etc.), audio editing capabilities (volume, noise removal,etc., trimming, splitting a single audio stream into two or more audiostreams), ability to define “Bookmarks” in the Audio stream (definitionof a specific point in the audio timeline), and ability to define“Fragments” in the Audio stream (defining beginning and ending points inthe audio timeline).

The platform may provide an extensible, flexible workflow-basedprocessing model providing Project Type configurators the flexibility tocustomize user interactions and system processes. Workflows may be madeup of one or more “Steps”. Each step is preferably one of two broadtypes: (1) a user Interaction Step and (2) a system processing step. TheUser Interaction Steps are presented to the User to allow them to enterinformation, make selections, or otherwise provide input to the process.The configurator provides a custom WPF-based UI experience, allowing theconfigurator to provide a feature-rich user experience. The SystemProcessing Steps do not require user interaction, and are processed bythe server process. Steps of this type may include background processes,processing of user input provided in an earlier User Interaction Step,or other processes.

The workflow processing engine provides the ability to store workflowstates, manage transitions between workflow steps, and provide abackground/scheduled processing framework for use by the Project Typeconfigurators.

Workflows may be initiated by user actions as defined in the ProjectType configuration, as “system” processes (not triggered directly by auser action), background processes, etc.

An example Document Import and Processing may be as follows.

In this example, the User imports a PDF file from their local computer.The Project Type configurator desires that when a PDF is imported, itsbinary data be extracted, stored, and OCR processing be performed on theimported PDF document.

The Project Type configurator would define a “Single PDF Import and OCR”workflow, and a “Perform OCR” workflow as follows:

Single PDF Import and OCR Workflow:

-   -   Step 1: User Interaction Step        -   Provide the User with a user interface element to allow them            to choose an existing PDF file from their computer, provide            additional properties (such as Title, Document Author,            etc.).        -   When the User completes entering the required information            and clicks a “Submit” button, the collected information is            passed to the in8Server Workflow processing framework, and            the system will execute the next Step in the Workflow.        -   Note that at this point, with no subsequent User Interaction            Steps, the user is “done” with this Workflow, and is allowed            to continue with other work (they do not need to wait until            the remaining processing is required).    -   Step 2: System Processing Step        -   Execute the “Perform OCR” Workflow.        -   Note: This is an example of Workflow “Chaining”—the ability            for one Workflow to call another. This provides a way for            Project Type configurators to share logic and code and            minimize redundancy in the Project Type configuration.

Perform OCR Workflow:

-   -   Step 1: System Processing Step        -   Perform OCR processing on the supplied PDF documents and            save the resultant information.

Case Backups

A typical operational task for users of any computer system is tocreate, store, and manage backups of important data. These backups aregenerally used to reduce the impact of user, system, or softwarefailures. The Platform provides several methods to create Backups ofuser's data:

-   -   1. Standalone Deployment Model:        -   1. Users can utilize the “Export Entire Project” capability            to create a file that contains all of the information within            a Project.        -   2. Users can utilize other backup solutions to backup all of            the data on their PC.    -   2. Enterprise Deployment Model:        -   1. Enterprise Administrative users can utilize in8 tools to            perform backups of individual Projects, selected Projects,            or all Projects from the Enterprise Server(s).

Export Data

The platform provides several techniques for users and/or administratorsto Export data from the platform. There are several use cases for thisfunctionality, including, but not limited to:

-   -   1. Backup project data for disaster recovery    -   2. Export a Project to share a Project with another user of the        in8Platform.    -   3. Export a table of data to a CSV so that a user can open and        review data in Excel®, or other software programs.    -   4. Export selected Objects and their attachments to share        project information with others not using the in8Platform.        Several export file formats may be supported:    -   1. Comma Separated Values (.csv) which is useful for sharing        data with others that want to access the information with tools        other than the Platform.    -   2. A Project File that includes a file format that includes        (optionally) data, metadata, history, binary data, etc.)    -   3. Extensible Markup Language (.xml) which is a portable file        format useful for transferring data between computer systems.    -   4. Portable Document Format (.pdf), which is a “Document” based        format that can include linked (attached) binary files.        Several different Export techniques may be supported:    -   1. Export entire Project    -   Use cases:        -   Project data backup        -   Project Archiving        -   Transferring a Project from one computer to another in the            Disconnected (Standalone) Client deployment model    -   A user can export an entire Project to a file.    -   The file can (optionally) be encrypted to protect the contents.    -   The data exported would include all objects, properties,        history, binary data, metadata, audit logs, configurations, etc.        In the Enterprise deployment model, exporting a Project will        also (optionally) export user state data that is stored in        Users' dataspaces within the Enterprise.    -   2. Export table to CSV    -   Use cases:        -   Share data with an outside user.        -   Open a set of data and perform analysis with Excel, or other            software.    -   A user can elect to export the data presented in a Table to a        .CSV file. This may be done within the Table panel by selecting        one or more rows and selecting the option to “Export to CSV”.        The system may then allow the user to select the folder/file to        save, and the data in the table will be saved to the .csv file.    -   3. “Advanced Export”—Export selected Objects (optionally        including related Objects and digital files/attachments)    -   Use cases:        -   Export selected object data to provide to outside users.        -   Share selected objects from a project with other users.    -   An Advanced data export facility is provided to allow the user        to graphically select objects within a project to be part of an        ExportGroup. The ExportGroup is then configured as to which        properties for each object type to export, the time period of        data to export, and whether or not to include digital files        (attachments/binary objects). The user will also choose the        format for the ExportGroup—Either .CSV for basic object property        values, and digital files stored as individual files in a        selected folder, or as an .in8 proprietary file format. The user        can also choose to encrypt the file, and apply restrictions on        the file (read only, secured by a password, etc.).

Project Type Configuration

The platform provides the ability for end-users to extend the ProjectType configuration on a project-by-project basis, thereby allowing theend-user to customize the data elements related to objects of a specifictype within a Project. For example, the Project Type may define a“Person” object type with pre-defined properties such as Name, Date ofBirth, Gender, etc. Due to the business processes being performed by theuser, a user may need to track additional data elements for “Persons”within a project. A simple example for this functionality is that a usermay need to add “Marital Status” as a property for all instances“Person” within a Project, to allow the user to record, analyze, orreport on Marital Status. When a “Custom Property” is added to aproject's configuration, the new property is defined preferably with thefollowing information:

Name

-   -   Description    -   Data Type (see list of in8 Datatypes in this document)    -   “Watermark” text (the helper text shown inside or near a field's        editor control to provide information to the user as to what to        enter in the field)    -   Validation expression(s)    -   Minimum and/or Maximum data size limits    -   Masking Format    -   Display Format    -   Default Value    -   Table Column Header Name        The new Property may be available for all objects of the        modified Type within the Project.

Data Replication

The platform provides advanced data replication capabilities to supportoffline use of the application, user collaboration, and data sharing.

Functional Goals

The primary functionality provided by the Replication capabilities ofthe platform include (1) allowing users to replicate Project data totheir local computer allowing them offline use, (2) provide a mechanismto distribute changes to data in near real-time enabling a collaborativeworkspace when multiple users are operating on the same Project ondifferent computers; (3) providing a method to share data with otherusers of the Platform in a secured way; and (4) provide a traceablehistory of every change made to a Project enabling auditing, data changeanalysis, and the ability to visualize a Project at any point in time.

Conceptual Design

The platform's data storage infrastructure can be conceptualized as eachEnterprise consisting of a single “Enterprise Dataspace” (collection ofobjects, relationships, change history, etc.) that is not necessarilyever physically present on any single computer. The Enterprise Dataspaceis a conceptual collection of the fragments of the dataspace on all ofthe nodes of the Enterprise. Again, the entire Enterprise Dataspace maynot ever be completely materialized on any one node. Administratorscould choose to have all data replicated to one or more nodes, and inthat case, the entire Dataspace would be present on the node, but thisis not required.

Definition of a Replica

Replication is primarily defined at a Project level. Each Project withinthe Enterprise dataspace has one Node designated as the “Project Master”Node. This node is responsible for operations that need to occur on oneand only one node (an example being assigning of unique sequential “ItemKey” values [“Bates numbers”]). The Project Master always contains thecomplete dataset for the Project. The Process of creating a new Replicaof a Project consists of defining any Replica Filtering (and theFiltered Object Storage Method), and defining the Replica's PopulationMethod.

Replica Filtering

When a user (or administrator) elects to have a Project replicated to aNode that is not the Project Master, the node is said to host a“Replica” of the Project. A Replica does not necessarily contain acomplete copy of a Project. Replicas can be defined as being“filtered”—only a subset of the Project's data is to be kept on thenode. Filtering can be defined to restrict the data being replicated ina number of ways—these are referred to as “Filtering Methods”. FilterMethods can be combined to create a specific set of filtering criteria.

Example Filtering Methods may include the following:

-   -   No Filtering    -   All data in the Project is replicated. Essentially, the Node        will contain the entire dataset as the Project Master node.    -   Specific Objects    -   Only specific objects (and, optionally, their related Objects)        are replicated.    -   Specific Object Types    -   Only objects of specific Object Types (as defined in the Project        Type configuration) are replicated.    -   Specific Properties    -   Only selected Object Property values are replicated.    -   Specific Property Types    -   Only properties of a specific Property Type are replicated.    -   Combinations of Object Type and Property Type    -   Specific properties of specific Types are replicated.    -   Binary Data    -   Binary Data (images, documents, video, etc.) can optionally be        replicated.    -   History    -   A Replica can be limited to containing only the most recent        state, include the entire history, or a selected portion of the        history of the Project (example: Last 5 states, or 1 month of        history).    -   Accessible by User    -   Only Objects/Properties that are accessible by a specific User,        or group of Users is replicated.    -   Accessible by Role    -   Only Objects/Properties that are accessible by members of a        specific Project Role are replicated.

Filtered Object Storage Technique

When a Replica is defined with one or more Replication Filters, the useror administrator will also define how Objects filtered from the Replicaare to be represented in the Replica:

-   -   Forwarded    -   Objects that are not replicated to the Replica (due to        Filtering, for example), are replicated as “Forwarding Stub”        objects. These allow the Replica to be aware of the Objects that        are not replicated locally, and allow the in8Platform to forward        a request for data to another node to retrieve the        non-replicated data from the Project Master node (if connected        and available).    -   Hidden    -   Objects that are not replicated to the Replica (due to        Filtering, for example), are not represented at all in the        Replica. The Replica has no knowledge of objects that are not        being replicated to the Replica due to Replica Filtering rules        for the Replica. This can be used to create a Replica that        contains a subset of data to be shared with other users, outside        agencies, etc.

Population Method

When a Replica is created, the user or administrator will define thePopulation Method. This controls the process whereby the new Replica ispopulated with data.

-   -   Full Initial Population    -   The entire initial synchronization process must complete before        the Replica is considered “Online”. The Replica is not available        until the initial synchronization is completed for all Objects        that conform to the Filtering Methods defined for the Replica.    -   Queued Initial Population (Default)    -   The Replica is initially populated with “Queue Stub” objects,        representing objects in the Project Master replica that have not        been replicated to the new Replica yet. Once all Queue Stub        objects are created, the Replica is considered Online and        accessible to the local user. The Replication process will        continue in the background to replace the Queue Stub objects        with replicated data when a connection is available to the        Project Master.    -   The Queue Stub objects are replaced with actual Object data via        several methods:        -   As the Population process continues in the background,            objects are replicated from the Project Master node until            all Queue Stub objects are replaced with real Object data.        -   When the replica node receives a change notification for an            object that is currently represented with a Queue Stub            object, the Object will be immediately replicated from the            Project Master.    -   Once all Queue Stub objects have been replaced with real data,        the result is the same as a Full Initial Population (the new        Replica contains all of the data that conforms to any applied        Filters).    -   Incremental Population    -   The Replica is initially populated with “Incremental Stub”        objects, representing objects in the Project Master replica that        have not been replicated to the new Replica yet. Once all        Incremental Stub objects are created, the Replica is considered        Online and accessible to the local user.    -   The Incremental Stub objects are replaced with actual Object        when a user accesses an object that is currently represented        with a Incremental Stub Object. When this occurs, the local node        will query the Project Master and replicate data for that Object        immediately.

Note that the difference between Queued and Incremental is that in theQueued method, the entire Replica will be eventually populated via thebackground replication process, while the Incremental method, the Usermust access an object for that Object to be replicated to the localReplica. This provides a mechanism where the local Replica only containsdata that has been accessed by a local user, thereby saving storagespace on the local node, and reducing replication workload (since notall objects are replicated to the node).

Continued Replication

Once the new Replica is ready (online), replication continues with theReplica Node connecting to the Project Master node (when available), andthe Project Master sending all changes to objects meeting the Replica'sFiltering configuration in real-time. The local Replica then appliesthose changes to the local Project Replica, and notifying any connectedclient applications (allowing the clients to have knowledge of changesmade by other users).

Changes generated on the local Replica are sent to the Project Masterfor dissemination to all other nodes hosting replicas of the Project.

Replication Conflict Management

With any replication strategy, there exists the possibility ofreplication conflicts. In simple terms, a replication conflict is whentwo different users make a change to a single piece of data within onereplication session. Therefore, one of the edits would be lost(replaced) with the other. The in8Platform records changes to individualproperty values, thereby reducing the chance for replication conflicts(by operating on a smaller portion of the data). When a replicationconflict is determined, every node will have all of the changes made tothe conflicted property, and users would be able to review the changehistory for an object and see an indication that a replication conflictwas automatically resolved. The Administrator can select a conflictresolution mode:

-   -   Last change wins    -   If two or more users create changes that generate a conflict,        the change with the latest timestamp will “win”. Note that all        of the changes are recorded in the object history for        visibility, and audit capabilities.    -   Specific User or Role wins    -   If two or more users create changes that generate a conflict,        the Administrator can define a hierarchy of users and/or roles,        with the user or role with the highest priority “winning”. This        allows a scenario such as “The main user wins, while guests        don't”. Again, note that all of the changes are recorded in the        object history for visibility, and audit capabilities.

Additionally, the Administrator can set system and Project options tonotify one or more of the user(s) involved that a conflict wasautomatically handled, providing the users the ability to review thechanges and ensure that the desired information is preserved.

As the Platform's data modifications are primarily additive (the systemcreates a new “State” of an object or property, versus “editing” aproperty or object), there will be a reduced incidence of replicationconflicts.

Within the Investigation, the user can create Bank Statement as anEvidence Item. The user can define the Begin Date, Begin Balance, EndDate (of the Evidence), End Balance, Total Deposits, Total Withdrawalsand Reconciled, a Boolean value.

Financial Information

Bank Transaction

The user can define Bank Transaction as a Check Number, Cleared Date orAmount. The user can link to the Account, Bank Transactions and LockStatus. The Lock Status can be defined as Unlocked, Amount Locked orObject Locked. These allow the user to lock certain objects orproperties. (For example, after a user has reconciled a bank account, hecan lock the Amount property so it can't be modified.) The BankTransaction can be linked to the Bank Transaction Details and theEntities.

Bank Transaction Details

The user can define the Bank Transaction Detail as an Amount and can belinked to the Bank Item.

Bank Item

The user can define Bank Items as Item Date, Amount, Memo, ABA Number,Account Number and Bad Unknown Amount. The Bank Item can be linked tothe Bank Items and Account.

Create Check

The user can define Create Check as a Bank Item. The user can link tothe Check Number.

Check

The user can define Check as the Check Number and link to the Item Date.

Item Date

The user can define the Item Date as Amount, Memo, ABA Number, AccountNumber and Bad Unknown Amount. The user can link to the Bank Item andthe Account.

Financial Analysis

Various techniques may be used to prove income but there are specificmethods of proof approved for prosecuting criminal cases. There areIndirect and Direct Methods of Proof. Those methods involve analyzingtransactions and applying a source and application of the funds. Theprimary methods are Specific Items, Net Worth, Expenditures, BankDeposits and Cash Method. Depending on the facts and circumstances ofeach investigation, a subject's correct income or financial gains may beestablished by “direct” or several “indirect” methods of proof, usuallyusing circumstantial or “indirect” evidence.

Direct Method of Proof

The Specific Item method of proof is the preferred method of proof. Itis easy to understand, report and present at trial. Additionally, thespecific item of proof method is the hardest for the subject to rebut.Most subjects report their income and expenses by the specific itemmethod using books and/or records in which their financial transactionsare contemporaneously recorded.

Indirect Method of Proof

Indirect methods require investigators to gather and present evidence tosupport the allegation and determine the amount of the subject'sfinancial gains. Unlike the specific item method of proof, sources ofincome may not be identifiable so the income may have to be computedindirectly based upon the subject's use or application of the funds.

The net worth method of proof differs from a specific item method inthat direct comparisons of income, expenses, and credits cannot be made.Evidence of income applications such as asset accumulation, liabilityreduction, expenditures, and other financial data are utilized toindirectly establish correct income figures. An accounting is madeshowing how funds generated from income were applied by identifyingincreases to net assets and expenditures.

The following steps are taken by the investigator:

-   -   1. The investigator first calculates the change in a subject's        net worth, which is the assets less the liabilities. This is        done by determining the net worth at the beginning and end of a        period of time and then subtracting the beginning period's net        worth figure from the ending period's net worth figure. This        will yield a net worth change of an increase or decrease in net        worth.    -   2. The amount of this change in net worth is then adjusted for        nontaxable items, personal living expenses and nondeductible        losses to arrive at a corrected adjusted gross income figure.    -   3. The corrected adjusted gross income figure is then adjusted        for itemized or standard deductions and for exemptions, to        arrive at a corrected taxable income figure.    -   4. Finally, by comparing the corrected taxable income figure        with the taxable income reported elsewhere, the investigator can        determine whether the subject a reporting discrepancy.

Proving Income Using the Expenditures Method of Proof

The expenditures method of proving income utilizes circumstantialevidence. This method is based on the theory that if the subject'sexpenditures during a given year exceed his/her reported income, and thefund's source used for the expenditures can't be explained, it may beinferred that the expenditures represent unreported income.

Providing Income Using the Bank Deposits Method of Proof

The bank deposits method of proving income utilizes bank account recordsto establish a subject's understatement of income. The theory is that ifa taxpayer is engaged in an income producing business and deposits ofmoney are made in bank accounts under his/her control, an inference maybe made that such deposits represent income, unless it appears that thedeposits are transfers of funds between accounts or re-deposits, as longas those deposits did not come from gifts, inheritances or loans.

Proving Income Using a Cash Method of Proof

The cash method of proof is an indirect method of proof of undeclaredincome which focuses on expenditures made in currency. The cash methodis based on the same kind of investigation and analysis performed in theexpenditures method, however, it represents a different presentation ofthe results of the investigation.

Additional System Configuration

The Platform is an extensible, high-performance data managementplatform, designed to give users the ability to visualize, manage andreport complex data across multiple markets. The Application is acomprehensive, intuitive, application from the perspective of theinvestigator, the litigator, and the court. Its purpose, in part, is tosimplify the management of complex criminal investigations that ofteninclude incredibly sophisticated schemes, millions of pages of evidence,international ties, and very complex violations of laws and statutes.The process is simplified by offering a unified software applicationthat will be the single application that is used during theinvestigation, the prosecution, the trial, and the appeal. The evidencewill move from one stage to the next without the need to transfer thedata to any other software application. In summary, the Application mayconnect:

-   -   Facts of a case to Evidence    -   Evidence to Entities    -   Evidence to elements of the crime    -   Evidence and the facts to a Report

The Application gives the user the ability to create data links betweenEntities, Facts and Evidence and create Action Items for follow up.Users can upload and manage evidence and manage investigative tools suchas Mails Covers, Phone Tolls, GPS tracking and Search Warrants. Userscan manage and reconcile Financial Transactions. Users can createInvestigative Reports, identify evidence for Discovery and export data.Users can create and manage litigation documents and court activity.Users can view the data and their links in the canvas as a Timeline,Graph, Map, Swimlanes or a Table.

Users have the ability to work offline. Entitles will be automaticallyDeconflicted and users will be alerted when there is a deconflictionhit. Users can use the Mobile application with a limited version of thefull application.

The application will be available as a SaaS product. It can be astandalone application. A hosted client application that allows 6-10workstations or an enterprise networked application. Data can be storedlocally or at the client's choosing.

The detailed description, above, sets forth numerous specific details toprovide a thorough understanding of the present invention. However,those skilled in the art will appreciate that the present invention maybe practiced without these specific details. In other instances, wellknown methods, procedures, components, and circuitry have not beendescribed in detail to avoid obscuring the present invention. Projecttype configurations may be created automatically by the system or by theuser of the system through an interface. The resulting project types mayresult in outputs suitable for use in the data models and the workflowmodels.

All the references cited herein are incorporated by reference.

The terms and expressions that have been employed in the foregoingspecification are used as terms of description and not of limitation,and there is no intention, in the use of such terms and expressions, ofexcluding equivalents of the features shown and described or portionsthereof, it being recognized that the scope of the invention is definedand limited only by the claims that follow.

What is claimed is:
 1. A system comprising: (a) at least one computerand at least one storage device storing instructions that are operable,when executed by said at least one computer, to cause the at least onecomputer to perform operations comprising; (b) said at least onecomputer providing a user interface to present data to a user, an enginethat performs said operations on said data that includes objects andprovides said data to said user interface, and a vault that providesstorage on said at least one storage device of said data for saidoperations by said engine; (c) said data including said objects that areproject type data modules that provide definitions for said objects andtheir properties; (d) said data including said objects that are projecttype workflow modules that provide definitions for said operations andsaid presenting said data on said user interface; (e) said userinterface including graphical icons where movement of a first iconrepresentative of a first project type data module onto a second iconrepresentative of a second project type data module results in saidfirst project type data module being linked to said second project typedata module based upon an intermediary project type data module and aproject type workflow module, wherein the result of said linking isautomatically saved; (f) said user interface graphically showing aninterrelationship between said first project type data module and saidsecond type data module together with a nature of said interrelationshipbetween said first project type data module and said second type datamodule.
 2. The system of claim 1 wherein said data is organized basedupon a state chained property bag, in which the state chain tracks eachof the objects as they are included and their relationship to one ormore other objects of said state chain in a temporal fashion.
 3. Thesystem wherein 1 wherein one of said objects associated with any of saidproject type data modules are identified in a unique manner.
 4. Thesystem of claim 3 wherein said unique manner includes a key, whereinsaid key includes a key prefix prepended to a sequential number, saidsequential number, a key suffix appended to said sequential number, anumber of digitals defining a zero padded length of said sequentialnumber.
 5. The system of claim 3 wherein said unique manner includes akey, wherein said key includes an allow temporary key defining whether akey is permitted to be assigned, a temporary key prefix prepended to atemporary key, said temporary key, and a temporary key suffix appendedto said temporary key.
 6. The system of claim 3 wherein said uniquemanner includes a key, wherein said key includes a key prefix prependedto a sequential number, said sequential number, a key suffix appended tosaid sequential number, a number of digitals defining a zero paddedlength of said sequential number, an allow temporary key definingwhether a key is permitted to be assigned, a temporary key prefixprepended to a temporary key, said temporary key, and a temporary keysuffix appended to said temporary key.
 7. The system of claim 3 whereinsaid unique manner includes a key, wherein said key includes a keyprefix prepended to a sequential number, said sequential number, a keysuffix appended to said sequential number when said vault is currentlyaccessible by said at least one computer assigning is assigning said keyto said object.
 8. The system of claim 3 wherein said unique mannerincludes a key, wherein said key includes a temporary key prefixprepended to a temporary key, said temporary key, and a temporary keysuffix appended to said temporary key when said vault is currently notaccessible by said at least one computer assigning is assigning said keyto said object.
 9. The system of claim 1 wherein said data is organizedbased upon a state chained property bag, in which the state chain trackshistorical values for any given property of each of the objects.
 10. Thesystem of claim 1 wherein said data is organized based upon a statechained property bag, in which the state chain identifies an object asdeleted while not being removed from said vault.
 11. The system of claim1 wherein said objects includes object security based upon a controllist of roles that are allowed, including at least read and write. 12.The system of claim 1 wherein said data is organized based upon a statechained property bag, in which the state chain identifies a temporalpoint in time for when each object is active and a state of said statechained property bag is determinable at any particular temporal point intime.
 13. The system of claim 1 wherein workflow executed as a result ofsaid project type workflow modules are recorded with sufficient stateinformation to continue process if said workflow executing isinterrupted.
 14. The system of claim 13 wherein said executed workflowincludes an audit trail of said executed workflow.